该功能用于根据时间对游戏中的高分榜进行排序。
public void sort()
{
boolean unsorted = true;
int i;
for ( ; unsorted; i < this.inputArray.length - 1)
{
unsorted = false;
i = 0; continue;
if (Integer.parseInt(this.inputArray[i][1]) <= Integer.parseInt(this.inputArray[(i + 1)][1]))
{
int tempTime = Integer.parseInt(this.inputArray[i][1]);
String tempName = this.inputArray[i][0];
this.inputArray[i][1] = this.inputArray[(i + 1)][1];
this.inputArray[i][0] = this.inputArray[(i + 1)][0];
this.inputArray[(i + 1)][1] = String.valueOf(tempTime);
this.inputArray[(i + 1)][0] = String.valueOf(tempName);
unsorted = true;
}
i++;
}
}
问题是,IDE在'for'循环中抛出“not a statement”错误,在'if'上抛出“unreachable statement”错误。
有人可以帮忙吗?
答案 0 :(得分:2)
第一个错误是因为
i < this.inputArray.length - 1
不是你可以执行的东西 - 也就是说,它不是一个声明。但是for
循环括号中的第三部分是将在循环的每次迭代结束时执行的语句。
第二个错误是因为
continue;
表示在下一次迭代时再次启动循环。这意味着continue
之后的所有内容都是永远无法达到的死代码。编译器试图保护您免受错误的影响。
答案 1 :(得分:0)
无法到达的声明: 你指定i = 0,然后继续,并把i ++放在最后,我永远不会是0,所以if子句是不可达的
您的for循环语法也不正确:
for (initialization; termination;
increment) {
statement(s)
}
(取自Oracle doc)