【发布时间】:2015-12-27 06:43:23
【问题描述】:
我使用的代码如下。据我所知,代码的逻辑很好,但是当返回是在打印字符 B 之后,for 循环中的 I 不会增加。如果我删除 return 语句,那么 for 循环也会按照我的意愿递增,但是如果打印了 B/W,我需要该方法结束,所以我需要 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");
return;
}
}
System.out.print("W");
return;
}
【问题讨论】:
-
如果你已经找到了'B',为什么还要增加? (如果这是预期目的)。不确定具体情况,请您详细说明一下?
-
您为什么要担心
i是否增加?i是一个局部变量,其作用域仅限于循环。 -
您预计会发生什么?目前还不是很清楚你要做什么。您应该使用
break而不是return? -
你想实际执行什么?请清楚地解释您的问题。此外,您可以在方法中看到 Continue、BREAK(in a loop)、Return 的用法。
-
我有两个字符串,它们将被一起比较,如果它们在字符串中的相同位置具有相同的字符,那么 B 将被打印,如果它在字符串中但不在正确的位置,然后将打印 W。
标签: java loops if-statement for-loop