![](/img/trans.png)
[英]How to do add the total of the input and how do I do an if-else statement within a for loop?
[英]How do I add a while loop to an if/else statement
我正在嘗試為此程序添加一個while循環。 到目前為止,它會生成2個隨機數,用戶必須輸入數字的乘積。 現在,用戶每次必須重新運行該程序。 目標是讓用戶繼續此操作,直到他們決定通過輸入前哨值-1來停止。 我是否應該將while循環放在if語句上方?
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) {
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.