使用while-loop-Java重复一组指令
我让用户输入一些计算,然后反复要求用户重复进行,直到输入一个哨兵值(在我的例子中是3) 我正在使用使用while-loop-Java重复一组指令,java,loops,do-while,Java,Loops,Do While,我让用户输入一些计算,然后反复要求用户重复进行,直到输入一个哨兵值(在我的例子中是3) 我正在使用do而循环,它没有给出我想要的输出,如下所示 import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("1: Addition"); S
do而循环,它没有给出我想要的输出,如下所示
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("1: Addition");
System.out.println("2: Multiplication");
System.out.println("3: Exit");
System.out.print("Please choose a number: ");
int userinput = input.nextInt();
// Generate two random numbers
int number1 = (int)(Math.random() * 10);
int number2 = (int)(Math.random() * 10);
do {
if (userinput == 1) {
System.out.print("What is " + number1 + " + " + number2);
int answer = input.nextInt();
int tureanswer = number1 + number2;
if (answer == tureanswer){
System.out.println("You're correct");
}
else
System.out.println("Wrong,correct answer is " + tureanswer);
}
if (userinput == 2) {
System.out.print("What is " + number1 + " * " + number2 + " : ");
int answer = input.nextInt();
int tureanswer = number1 * number2;
if (answer == tureanswer){
System.out.println("Correct");
}
else
System.out.println("Wrong. The correct answer is "+ tureanswer);
}
}while(userinput !=3);
}
}
我得到以下输出
1: Multiplication
2: Addition
3: Exit
Please choose a number: 1
What is 9 + 1 12
Wrong,correct answer is 10
What is 9 + 1
但是,我需要这样的东西,(提示用户选择数字,而不是什么是9+1
)
我在do
语句中做错了什么?任何想法都将不胜感激 在我看来,您需要将do{
向上移动几行
只有do{
和while
之间的部分会重复,您需要包括询问用户需要哪种类型的问题,并生成随机数
但是,如果要将其用作while
条件,则需要在执行之前声明userInput
int userInput;
do {
System.out.print("Please choose a number: ");
userinput = input.nextInt();
// Generate two random numbers
int number1 = (int)(Math.random() * 10);
int number2 = (int)(Math.random() * 10);
if (userinput == 1) {
// and so on ...
在我看来,您需要将do{
向上移动几行
只有do{
和while
之间的部分会重复,您需要包括询问用户需要哪种类型的问题,并生成随机数
但是,如果要将其用作while
条件,则需要在执行之前声明userInput
int userInput;
do {
System.out.print("Please choose a number: ");
userinput = input.nextInt();
// Generate two random numbers
int number1 = (int)(Math.random() * 10);
int number2 = (int)(Math.random() * 10);
if (userinput == 1) {
// and so on ...
在do while中添加以下行
System.out.println("1: Multiplication");
System.out.println("2: Addition");
System.out.println("3: Exit");
System.out.print("Please choose a number: ");
int userinput = input.nextInt();
int number1 = (int)(Math.random() * 10);
int number2 = (int)(Math.random() * 10);
我还建议您在do-while中使用switch,因为它比if-else更实用在do-while中添加以下行
System.out.println("1: Multiplication");
System.out.println("2: Addition");
System.out.println("3: Exit");
System.out.print("Please choose a number: ");
int userinput = input.nextInt();
int number1 = (int)(Math.random() * 10);
int number2 = (int)(Math.random() * 10);
我还建议您使用switch in do while,因为它比else更实用当我有上述用户输入时,我得到一个错误userinput无法解析为变量
。此外,当我有上述生成随机数时,我得到的输出与以前相同!当我有上述用户输入时,我得到一个错误无法将userinput解析为变量。此外,当我在上面生成随机数时,我得到的输出与以前相同!是的,下一步,我将尝试为同一任务切换案例!感谢您的建议!是的,下一步,我将为同一任务切换案例!感谢您的建议!