我正在尝试做一个简单的程序,用户选择一个数字1,2,3进行简单的计算。除非用户在菜单上键入“ 0”,否则程序将继续运行。只要他们选择1、2或3,就会向用户显示相同的菜单。如果用户选择0,则程序将终止。
我拥有的代码:
import java.util.Scanner;
public class QuadraticSolving {
public static void main(String[] args) {
// Declarations
int user;
double a;
double b;
double c;
int num1;
int num2;
Scanner in = new Scanner(System.in);// Create scanner in
do{
System.out.print("Press 0 to exit, 1 for Multiplication Solving, 2 for Sum or 3 for Print Message:");// main menu
user = in.nextInt();
}
while(user == 0);
{
if(user == 1)// multiplication solver
{
System.out.print("Enter a:");
a = in.nextDouble();
System.out.print("Enter b:");
b = in.nextDouble();
System.out.print("Enter c:");
c = in.nextDouble();
System.out.println(a*b*c);
}
else if(user == 2)// addition
{
System.out.print("Enter an integer:");
num1 = in.nextInt();
System.out.print("Enter another integer:");
num2 = in.nextInt();
System.out.println(num1 + num2);
// System.out.println(allSum(num1,num2));
System.out.print("");
}
else if (user == 3)// welcome statement
{
System.out.println("Welcome to IT");
}
else
{
System.out.println("Bye");
break;
}
System.out.print("Press 0 to exit, 1 for Multiplication Solving, 2 for Sum or 3 for Print Message:");
user = in.nextInt();
}
}
第一次运行菜单后,它可以完美运行。在第二次运行期间,无论您选择哪种选择,它始终会终止程序。
每当我为所有运行输入“ 0”时,它就会变成一个无限循环。我可以停止它的唯一方法是结束代码的执行。 Endless example here
我不明白为什么该程序第一次只能完美运行,而第二次运行会自行终止。另外,我不明白为什么用户输入“ 0”时它会陷入无限循环。为什么会发生这种情况的任何解释? (很抱歉,我是编程新手。谢谢)
答案 0 :(得分:0)
当用户键入0时,它将进入无休止的循环,因为while表达式正在检查键入的数字是否等于0且没有区别
第一次运行就可以了,因为一会儿之后运行的代码没有重复,它只执行一次,所以代码应该在这里
do {
.
. // Here you scan
. // Here you paste the logic
.
} while (user != 0);