读书人

冒泡异常

发布时间: 2012-04-12 15:46:35 作者: rapoo

冒泡错误
public class Mp {
public static void main(String args[]){
// for(int i=0;i<a.length;i++){
// a[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"请输入初始数据"));
// }
int a[] = {8,2,5,6,4,1};
fun(a);
System.out.print("最后结果:");
printArray(a);

}
static void printArray(int a[]){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
System.out.println();
}

static void fun(int a[]){
for(int j=0;j<a.length-1;j++){
for(int i=0;i<a.length-j-1;i++){
if(a[i]>a[i+1]){
int t;
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
System.out.print("第"+(j+1)+"次冒泡:");
printArray(a);
}
}
}
错误: 类Mp是公共的, 应在名为 Mp.java 的文件中声明

[解决办法]
类Mp是public的,要把文件名命名为Mp.java.
[解决办法]
public class的类名必须要与其文件名相同,你的public class Mp,那么对应的文件就应该是Mp.java
[解决办法]
你的文件名应该是Mp.java才对。。
[解决办法]
LS各位正解、
[解决办法]
你的public class Mp,那么对应的文件就应该是Mp.java
[解决办法]

Java code
public class Mp {  public static void main(String args[]){// for(int i=0;i<a.length;i++){// a[i]=Integer.parseInt(JOptionPane.showInputDialog(null,"请输入初始数据"));// }  int a[] = {8,2,5,6,4,1};  fun(a);  System.out.print("最后结果:");  printArray(a);      }     static void printArray(int a[]){  for(int i=0;i<a.length;i++){  System.out.print(a[i]+" ");  }  System.out.println();  }      static void fun(int a[]){  for(int j=0;j<a.length-1;j++){  for(int i=0;i<a.length-j-1;i++){  if(a[i]>a[i+1]){  int t;  t=a[i];  a[i]=a[i+1];  a[i+1]=t;  }  }  System.out.print("第"+(j+1)+"次冒泡:");  printArray(a);  }  }}
[解决办法]
或者 把public class Mp 修改为 class Mp,保存文件可以为其他名字XXX.java
> javac XXX.java
> java Mp
结果一样
[解决办法]
这个程序没有问题,检查是不是类名与文件名不一样呀,写程序得小心注意,有时候一个不起眼的错误,能导致你检查半天时间也没有查出来,我编写的时候就会犯这种错误,以后尽量注意点
[解决办法]
养成一个好的编程习惯……让源文件名与主类名一致。
[解决办法]
你的源文件名字应该和public类Mp一样

读书人网 >J2SE开发

热点推荐