Java循环时无休止

时间:2015-09-24 16:45:18

标签: java loops while-loop

好的,所以当谈到Java时,我是一个完全的菜鸟,所以如果这是一个愚蠢的问题,请道歉。 我有一个像这样的while循环设置:

do {
  //quiz questions, lose a life when you get one wrong
} while (livesRemain > 0) 

然而,当你失去所有生命时,即使所有生命都丧失,循环也不会结束并继续循环。我是否会使用除了while或do之外的其他东西,而当达到某个条件时它会结束?

问题是这样的:

 System.out.print(question1) 
    if (guess == 1) {
    System.out.print("Correct")
    score++;
    } else {
    livesRemain--;
}

当你到达测验结束时,它会打印你的分数,如果你低于0,它最终会进入底片。

2 个答案:

答案 0 :(得分:5)

你应该尝试类似的东西:

{{1}}

答案 1 :(得分:0)

循环没有结束的原因:

enter image description here

  • 当您进入do-while循环时,只要条件满足(即liveRemaining > 0
  • ,它就会保留在循环中
  • 变量livesRemaining在循环外递减。
  • 因此,livesRemaining始终是>因为你没有在循环中的任何地方更新它。
  • 结果循环不结束。
  

我会使用除了while或do之外的其他东西吗?当达到某个条件时会结束吗?

问题不在于选择合适的循环。问题是由终止条件未更新引起的。要解决此问题,请将代码放入循环中,以便满足终止条件。

do{
    //Ask question..
    if(guess == 1)
        System.out.println("Correct");
    else
        livesRemain--;     //Update livesRemain
}while(livesRemain > 0);   //Keeping asking questions till lives == 0