【发布时间】:2018-09-28 19:24:50
【问题描述】:
所以我正在使用冒泡排序为我的计算机编程课做一个关于数组的实验室。无论如何,代码已经完成并且应该可以工作,但是有一部分出现“无法访问代码”的错误,我不知道为什么。我在这里看不到问题。这是完整的代码,以便您识别问题。
public class MClab22
{
public static void main(String[] args)
{
int[] houseNums = {23, 76, 15, 47, 14, 38, 52};
System.out.print("The original sequence is: \n ");
for (int i = 0; 1 < houseNums.length; i++)
{
System.out.print(houseNums [i] + ", ");
}
System.out.println();
SortEm(houseNums);
}
private static void SortEm (int [] ar)
{
int temp;
for (int i = ar.length - 1; 1 > 0; i--)
{
for (int j = 0; j < i; j++)
{
if (ar[j] > ar[j + 1])
{
temp = ar[j];
ar[j] = ar[j + 1];
ar[j+1] = temp;
}
}
}
System.out.print("The new sequence is : \n ");
for (int i=0; 1 < ar.length; i++)
{
System.out.print (ar[i] + ", ");
}
System.out.println();
}
}
'Unreachable code' 的问题出现在第 29 行,并且是显示“System.out.print("The new sequence is : \n ");" 的部分 如果可以的话,请帮忙,非常感谢:)
【问题讨论】:
-
你最外层的循环条件是:
1 > 0i > 0吗? -
for (int i = ar.length - 1; 1 > 0; i--)你永远不会离开这个循环 -
你的循环是无限的。
-
这也不好:
for (int i=0; 1 < ar.length; i++)。我想你的意思是for (int i=0; i < ar.length; i++)。 -
大部分情况下,这种组合很有效。仍然有一个问题,但选择的答案成功地解决了它。谢谢大家!!
标签: java arrays bubble-sort unreachable-code