安卓错误"IF"和"ELSE"



我是Android的新手,我的代码有问题。

当用户按下错误的块时,软件未显示"失败"。

当我调试代码时,它只运行 if 部分,而不是其他部分。我也想执行 else 条件,有什么建议吗?

private void buttonLogic(View v) {
List<Integer> tempList = new ArrayList<>();
for (int i = 0; 1 <= curLevel; i++) {
if(i!=12)
tempList.add(buttons.get(i));
else
break;
}
if (tempList.contains(v.getTag())) {
curGuess++;
checkWin();
} else {
lostGame();
}
}
private void lostGame () {
Toast.makeText(this, "Fail!", Toast.LENGTH_SHORT).show();
disableButtons();
b_new.setVisibility(View.VISIBLE);
}

首先,我真的希望curLevel已经在您粘贴的方法之外的某个地方声明/初始化。

继续前进...您的错误在于您的 for 循环参数。我猜你打算用"i"而不是"1"。语句1 <= curLevel可能总是返回 true(如果 curLevel 为>= 1(,并且您的代码可能永远不会继续执行下一条指令。你的 for 循环应该是这样的:

for (int i = 0; i <= curLevel; i++) {
if(i!=12)
tempList.add(buttons.get(i));
else
break;
}

重新运行它,您的代码应该运行正常。我希望这有帮助..祝您编码愉快!

你的 if 条件有错误。 这是一个无限循环。

for (int i = 0; 1 <= curLevel; i++) {

对于大多数小于curLevel的情况,1,如果不是,curLevel将为0或1,因此"i"最多为0!

你想要什么?

我认为你必须用"i"而不是 1

for (int i = 0;i <= curLevel; i++) {

最新更新