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.我需要这样做以便停止打印:(
答案 0 :(得分:2)
int i=0
是错误。它在每次迭代中将i初始化为0,因此在下一步i++
之后,您的i值将保持为1。要仅将其初始化一次,请将其置于while循环之外。
答案 1 :(得分:1)
你需要把
int i = 0;
以上
while (var<10)
{
这是因为你每次循环时调用'i'变量,然后使用i ++,它将始终为'1'。因此不会将其保存为下一个循环。
答案 2 :(得分:0)
您正在每次迭代中初始化我。
int i = 0;
在循环之前,必须在循环体之外。放
也是有意义的String line = keyboard.nextLine();
循环体外的也是如此。 'line'也不需要在每次迭代中初始化。
答案 3 :(得分:0)
在您的代码中,i
将被视为局部变量,每次循环完成一次迭代时,i
将被销毁。
在下一次迭代中,i
将被创建并初始化为0.您需要在while循环之外初始化此变量。