当前位置: 代码迷 >> Java相关 >> 错在哪
  详细解决方案

错在哪

热度:80   发布时间:2007-10-20 20:47:55.0
错在哪
题目:给定一个数组:int [] arr={32,87,3,589,12,1076,2000,8,622,127},请按从小到大的顺序排列并输出
public class A{
public static void main(String[] args){
int [] arr={32,87,3,589,12,1076,2000,8,622,127};
int temp;
int i,j,k;
for(i=0;i<10;i++)
for(j=0;j<=10-i-1;j++)
{
if(arrayOfInts[i]>arrayOfInts[i+1])
{
temp=arrayOfInts[i];
arrayOfInts[i]=arrayOfInts[i+1];
arrayOfInts[i+1]=temp;
}
}
for(k=0;k<10;k++)
System.out.println(" "+arr[k]);
}
}

运行后报错提示为:
Exception in thread "main" java.lang.NoClassDefFoundError:A/java

请问这是什么意思啊?哪儿错了?
----------------解决方案--------------------------------------------------------
回复:(gxl1127)错在哪
在一个 .java 文件中,只能有一个public类,且与文件同名
public class A{
public static void main(String[] args){
int [] arr={32,87,3,589,12,1076,2000,8,622,127};
int temp;
int i,j,k;
for(i=0;i<10;i++)
for(j=0;j<=10-i-1;j++)
{
if(arrayOfInts[i]>arrayOfInts[i+1])//貌似没有定义
{
temp=arrayOfInts[i];
arrayOfInts[i]=arrayOfInts[i+1];
arrayOfInts[i+1]=temp;
}
}
for(k=0;k<10;k++)
System.out.println(" "+arr[k]);
}
}
还有,估计这个算法也实现不了排序
----------------解决方案--------------------------------------------------------
arrayOfInts
是什么

冒泡排序
第二层循环体的数组元素下标错啦.
应该是j 吧
----------------解决方案--------------------------------------------------------
以下程序运行结果正确,简单所以就没写注释,欢迎提意见,呵呵
class QueueTest{
static int[] a={32,87,3,589,12,1076,2000,8,622,127};

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

public static void main(String[] args){
showIt(a);
for(int i=0;i<a.length-1;i++){
for(int j=i+1;j<a.length;j++){
if(a[i]<a[j]){
}
else{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
showIt(a);
}
}

[此贴子已经被作者于2007-10-21 0:58:47编辑过]


----------------解决方案--------------------------------------------------------

冒泡错误

public class paixu{
public static void main(String[] args){
int [] arr={32,87,3,589,12,1076,2000,8,622,127};
int temp;
int i,j,k;
for(i=0;i<10;i++)
for(j=0;j<10-i-1;j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
for(k=0;k<10;k++)
System.out.println(" "+arr[k]);
}
}


----------------解决方案--------------------------------------------------------
  相关解决方案