无法获得循环才能正常工作
问题描述:
import java.util.Random;
import java.util.Scanner;
public class addinggamedowhile
{
public static void main (String[]args)
{
Random r = new Random();
Scanner s = new Scanner(System.in);
int x = r.nextInt(20)+1;
int y = r.nextInt(20)+1;
int sum = x + y;
int guess;
System.out.println("===========");
System.out.println("Adding Game");
System.out.println("===========");
System.out.println();
int tries = 0;
for (int games = 0; games < 10; games++)
{
do
{
System.out.print (x + " + " + y + " = ");
guess = s.nextInt();
if (guess != sum && tries < 2)
{
System.out.println("Not quite. Try again!");
System.out.println();
tries++;
}
else
System.out.println("Not quite. The answer is " +sum+ ".");
System.out.println();
}
while (guess != sum);
System.out.println("Congratulations. You got it!");
System.out.println();
}
}}
我有这个循环的麻烦。我无法让循环在我想要的时候终止。它应该只持续十次“猜测”。另外,当用户得到正确的问题时,我的else语句也被执行。另一件事是,一旦用户得到了正确的问题,或者在三次允许的情况下没有正确地回答问题,就会出现一组新的数字。我还没有能够让它正确执行。我已经尝试过不同的运行良好的东西,但是项目的要求是使用do while循环。无法获得循环才能正常工作
答
这样的事情呢?
do {
//your code here
} while (guess != sum && tries <= 10);
循环将继续下去,直到总和是否正确,或尝试次数耗尽。每循环迭代一次,增量尝试一次。
然后,在完成之后(即在循环之外),检查猜测是否是正确的总和,或者如果尝试已用尽,并相应地打印出响应。
答
或者,您可以在猜测正确或不再尝试时使用break
关键字。另外,你应该重置你在外部for循环中的try变量(以便它在每次游戏开始时重置)。
什么时候会'while(guess!= sum)'?看起来你正在增加尝试:'try ++' –
不要忘记为语言添加一个标记,并在这里处理缩进,代码很难按原样读取。 – crashmstr