【发布时间】:2019-04-05 00:49:32
【问题描述】:
嗯,我有这个硬件问题,我必须只使用嵌套的 while 循环,根本不使用 do while。所以基本上我已经把代码写下来了,但它不会运行循环的一部分,它一直说是或否。应该是这样的
猜猜密码。
输入密码的最大值:10
已选择一个新的密码。
输入猜测:3
太低了;再试一次。
输入猜测:8
太低了;再试一次。
输入猜测:9
太低了;再试一次。
输入猜测:10
你在 4 次猜测中获胜!
再玩一次? (是/否)是的
选择了一个新的密码。
输入猜测:7
太高了;再试一次。
输入猜测:3 太低;再试一次。
输入猜测:5
你在 3 次猜测中获胜!
再玩一次? (是/否)n
public static void main(String arg[])
{
int guess = 0,max,guesses = 0;
String response;
Scanner input= new Scanner(System.in);
System.out.println("Guess the secret number\n");
System.out.println("Enter maximum value for secret number: ");
max=input.nextInt();
int numbers=(int) (Math.random()* max) + 1;
while(true)
{
System.out.println("A new secret number has been chosen.");
while (guess!=numbers)
{
System.out.println("Enter guess");
guess=input.nextInt();
guesses++;
if (guess<numbers)
{
System.out.println("Two low; Try again ");
}
else if (guess>numbers)
{
System.out.println("To high; Try again");
}
}
System.out.println("You won in " + guesses + "!");
System.out.print("\nPlay again? (Y/N)");
response = input.next();
if(response.equalsIgnoreCase("y"))
{
continue;
}
else
{
break;
}
}
input.close();
}
(这是我得到的)
输入密码的最大值: 5
已选择一个新的密码。
输入猜测 4
到高;再试一次
输入猜测 3
你赢了 2 场!
再玩一次? (Y/N)y
已选择一个新的密码。
你赢了 2 场!
再玩一次? (Y/N)y
已选择一个新的密码。
你赢了 2 场!
再玩一次? (是/否)
(因此循环不会再次调用猜测)
【问题讨论】:
标签: java output nested-loops