Java 如何向if/else语句添加while循环
我正在尝试向这个程序添加一个while循环。到目前为止,它生成2个随机数,用户必须输入这些数字的乘积。现在,用户每次都必须重新运行程序。目标是让用户通过输入sentinel值:-1来继续此操作,直到他们决定停止为止。我应该把while循环放在if语句的正上方吗Java 如何向if/else语句添加while循环,java,while-loop,Java,While Loop,我正在尝试向这个程序添加一个while循环。到目前为止,它生成2个随机数,用户必须输入这些数字的乘积。现在,用户每次都必须重新运行程序。目标是让用户通过输入sentinel值:-1来继续此操作,直到他们决定停止为止。我应该把while循环放在if语句的正上方吗 Random random = new Random(); Scanner scan = new Scanner(System.in); final int SENTINEL = -1; int number1 = ra
Random random = new Random();
Scanner scan = new Scanner(System.in);
final int SENTINEL = -1;
int number1 = random.nextInt(13);
int number2 = random.nextInt(13);
int answer = number1 * number2;
System.out.print("What is " + number1 + " X " + number2 + "? > ");
int product = scan.nextInt();
if (product == answer) {
System.out.println("Correct! " + number1 + " X " + number2 + " = " + answer);
} else {
System.out.println("Wrong " + number1 + " X " + number2 + " = " + answer);
}
如果您希望用户每次都获得一个新的随机生成的数字,那么while循环应该在生成随机数字之前进行。换言之:
Random random = new Random();
Scanner scan = new Scanner(System.in);
final int SENTINEL = -1;
int number1;
int number2;
int product = 0;
while (product != SENTINEL) {
number1 = random.nextInt(13);
number2 = random.nextInt(13);
int answer = number1 * number2;
System.out.print("What is " + number1 + " X " + number2 + "? > ");
product = scan.nextInt();
if (product == answer) {
System.out.println("Correct! " + number1 + " X " + number2 + " = " + answer);
} else {
System.out.println("Wrong " + number1 + " X " + number2 + " = " + answer);
}
}
一般来说,while语句应该放在要重复的第一段代码之前。类似这样的内容:
while(true){
number1 = random.nextInt(13);
number2 = random.nextInt(13);
int answer = number1 * number2;
System.out.print("What is " + number1 + " X " + number2 + "? > ");
int product = scan.nextInt();
if(product == SENTINEL){
System.exit(0); // you could also use break; here
}
if (product == answer) {
...
}