我想在Java
中编码,并开始进行基本的重复添加测验。限制重复添加测验 - 虽然循环 - Java
重复此外,直到输入正确的答案工作正常,但是,当我尝试将其限制在3项试验,它不会在第3停下来,而是如下图4个实验顺利,
import java.util.Scanner;
public class RepeatAdditionQuiz {
public static void main(String[] args) {
// TODO Auto-generated method stub
int number1 = (int) (Math.random() * 10);
int number2 = (int) (Math.random() * 10);
Scanner input = new Scanner(System.in);
System.out.print("What is " + number1 + " + " + number2 + " : ");
int answer = input.nextInt();
int count = 0;
while(count < 3) {
if (number1 + number2 != answer) {
System.out.print("Try again, What is " + number1 + " + " + number2 + " : ");
answer = input.nextInt();
}
else
System.out.println("You're correct ");
count ++;
}
System.out.println("Your trails ended ");
}
}
这是我的输出,
What is 1 + 2 : 8
Try again, What is 1 + 2 : 6
Try again, What is 1 + 2 : 9
Try again, What is 1 + 2 : 9
Your trails ended
正如你可以看到我有四个足迹与第一个。当我试图在while
循环(打印What is 1 + 2 :
)之前删除第一个用户输入时,我在控制台中看不到任何东西。我怎样才能限制到3?
在python
我可以做这样的事情,
from random import randint
number1 = randint(0,9)
number2 = randint(0,9)
answer = number1 + number2
count = 0
while count < 3:
print(number1, "+", number2)
user_answer = int(input("What is number1 + number2: "))
if answer == user_answer:
print("yes, you're right")
break
else:
print("You're wrong, please enter again")
count +=1
print("Sorry, all trials are done! ")
而且我得到这样的输出,正好三个创新(我每次输入错误的答案),
8 + 5
What is number1 + number2: 16
You're wrong, please enter again
8 + 5
What is number1 + number2: 18
You're wrong, please enter again
8 + 5
What is number1 + number2: 18
You're wrong, please enter again
Sorry, all trials are done!
什么错误时我在java
?有没有更好的方法在while
循环中做?任何建议,将不胜感激。
您已经指定了四个输入:一个在while循环之前,另一个在while循环中。如果你总共需要三个... – dave
@dave是的,我总共需要三个,但正如问题中提到的那样,当我在while循环之前取消输入语句时,它不会打印任何内容。 –