Java 如何使用用户输入停止程序

Java 如何使用用户输入停止程序,java,loops,while-loop,exit,Java,Loops,While Loop,Exit,我已经研究这个问题太久了,并且尝试了很多方法来阻止这个程序抛出错误或忽略我尝试运行的程序停止代码 我想有一个选项,如果用户输入一个数字,就停止程序运行,在这个例子中是3,但是我找不到任何可以停止程序的东西。我试过“键盘。退出(1);”和“系统。停止(1);”。我只想在不需要重新构造整个方法系统的情况下完成此操作。如果您正在检查输入值是否为3,则可以使用下面的行终止程序 系统出口(0) 首先,在getSystemChoice中的do while循环中有一个问题,该循环仅在用户选择选项1或2时存在

我已经研究这个问题太久了,并且尝试了很多方法来阻止这个程序抛出错误或忽略我尝试运行的程序停止代码


我想有一个选项,如果用户输入一个数字,就停止程序运行,在这个例子中是3,但是我找不到任何可以停止程序的东西。我试过“键盘。退出(1);”和“系统。停止(1);”。我只想在不需要重新构造整个方法系统的情况下完成此操作。

如果您正在检查输入值是否为3,则可以使用下面的行终止程序


系统出口(0)

首先,在
getSystemChoice
中的
do while
循环中有一个问题,该循环仅在用户选择选项1或2时存在

因此,该循环/方法的逻辑应该是固定的:

public static int getSystemChoice(){
扫描仪输入=新扫描仪(System.in);//创建扫描仪
int系统选择;
做{
System.out.println(“如果使用公制,请输入1。”);
System.out.println(“如果您使用的是英制,请输入2。”);
System.out.println(“要退出程序,请输入一个3。”);
systemChoice=input.nextInt();
//如果选择了3,请退出此处
if(systemChoice==3){
系统出口(0);
}
}
while(systemChoice!=1&&systemChoice!=2);
退货制度选择;
}
但是,此方法可能仍需要改进,以避免重复打印同一菜单,并打印有关无效输入的消息

此外,如果输入了非整数值,现有代码将抛出一个
inputmaschException
,因此最好使用
input.next()
将输入中的任何标记作为字符串读取

public static int getSystemChoice(){
扫描仪输入=新扫描仪(System.in);//创建扫描仪
//打印菜单一次
System.out.println(“如果使用公制,请输入1。”);
System.out.println(“如果您使用的是英制,请输入2。”);
System.out.println(“要退出程序,请输入一个3。”);
while(true){
String systemChoice=input.next();//将输入中的任何标记作为字符串读取
交换机(系统选择){
案例“1”:案例“2”:
返回整数.parseInt(systemChoice);
案例“3”:
System.out.println(“再见!”;//用于指示退出的可选消息
系统出口(0);
违约:
System.out.println(“无效输入,请输入1、2或3”);
}
}    
}

这对您有帮助吗?当然,另一个选项是安排事情,以便当用户键入神奇的“停止”命令时,程序的控制流自然绕过所有进一步的操作,最终到达
main
方法的末尾。但有时使用
系统。退出(0)
!会简单得多!。