怎么回事呢?
public class SortDemo
{
public static void main(String[] args)
{
int[] arraryOfInts={12,235,125,45,58,47,65,32,698,120,25};
for(int i=arraryOfInts.length;--i>=0;)
{
for (int j=0;j<i;i++ )
{if (arraryOfInts[j]>arraryOfInts[j+1])
{int temp=arraryOfInts[j];
arraryOfInts[j]=arraryOfInts[j+1];
arraryOfInts[j+1]=temp;
}
}}
for(int i=0;i<arraryOfInts.length;i++)
{
System.out.print(arraryOfInts[i]+"");
}
System.out.println();
}
}
编译通过了,执行的时候却没有见到预期的结果,java SortDemo 后只看到光标闪烁,就是不出结果,why????
问题点数:5、回复次数:4Top
1 楼qass()回复于 2004-08-04 15:52:21 得分 0
up once!Top
2 楼lmyabc(风之舞)回复于 2004-08-04 16:05:19 得分 5
小伙子,for (int j=0;j<i;i++ )
{if (arraryOfInts[j]>arraryOfInts[j+1])
{int temp=arraryOfInts[j];
arraryOfInts[j]=arraryOfInts[j+1];
arraryOfInts[j+1]=temp;
}
你的这个循环应该是j++,不是i++
否则就是死循环了:)Top
3 楼csr007(种子)回复于 2004-08-04 16:16:42 得分 0
对,是j++ 。Top
4 楼panzhiwei(panzhiwei008)回复于 2004-08-04 17:32:45 得分 0
public class SortDemo
{
public static void main(String[] args)
{
int[] arraryOfInts={12,235,125,45,58,47,65,32,698,120,25};
for(int i=0;i<arraryOfInts.length;i++)
{
for (int j=1;j<i;j++ )
{if (arraryOfInts[j]>arraryOfInts[i])
{
int temp=arraryOfInts[j];
arraryOfInts[j]=arraryOfInts[i];
arraryOfInts[i]=temp;
}
}
}
for(int i=0;i<arraryOfInts.length;i++)
{
System.out.println(arraryOfInts[i]+"");
}
System.out.println();
}
}Top




