[英]while loop not updating i after each iteration
while (var<10)
{
String line=keyboard.nextLine();
input = line.charAt(0);
game.makeGuess(input);
game.getDisguisedWord();
game.isFound();
System.out.println(game.getDisguisedWord());
System.out.println(game);
System.out.println(game.getWrong());
int i=0;
i++;
if (var<i+game.getDisguisedWord().length()-1)
System.out.print("Guess #" + game.guessCount()+": ");
var=game.getWrong();
if (game.isFound())
var=10;
}
不確定是什么問題,但如果我打印出來,它只是停留在1.我需要這樣做才能得到停止打印的東西:(
int i=0
是錯誤。 它在每次迭代中將i初始化為0,因此在i++
的下一步中你的i值保持為1。 要僅將其初始化一次,請將其置於while循環之外。
你需要把
int i = 0;
在...之上
while (var<10)
{
這是因為你每次循環時調用'i'變量,然后使用i ++,它將始終為'1'。 因此不會將其保存為下一個循環。
您正在每次迭代中初始化i。
int i = 0;
在循環之前必須在循環體之外。 這也是有道理的
String line = keyboard.nextLine();
在循環體之外也是如此。 'line'也不需要在每次迭代中初始化。
在你的代碼中, i
將被視為一個局部變量,每次循環完成一次迭代, i
將被銷毀。
在下一次迭代中, i
將被創建並初始化為0.您需要在while循環之外初始化此變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.