我正在使用的代码如下。据我所知,代码的逻辑很好,但是当返回是在打印 char B 之后时,for 循环中的 I 不会增加。如果我删除 return 语句,那么 for 循环也会按照我想要的那样递增,但是如果打印了黑白,我需要该方法结束,所以我需要返回存在。非常感谢任何帮助,我几个小时以来一直在努力找出问题所在。
if(currentCodeString.contains("" + currentGuessChar)) {
for (int i = 0; i < codeLength; i++) {
System.out.println("" + i);
//System.out.println(currentGuess[i] + " - " + currentCode[i]);
if(checkPins(currentGuess[i], currentCode[i])) {
System.out.print("B");
return;
}
}
System.out.print("W");
return;
}
最佳答案
在 for 循环中使用 break
而不是 return
。
if(currentCodeString.contains("" + currentGuessChar)) {
for (int i = 0; i < codeLength; i++) {
System.out.println("" + i);
//System.out.println(currentGuess[i] + " - " + currentCode[i]);
if(checkPins(currentGuess[i], currentCode[i])) {
System.out.print("B");
break;
}
}
System.out.print("W");
return;
}
return
表示 - “结束方法”,break
表示 - “结束循环”
关于java - 用for循环返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34478240/