当输入1和2时候,为什么会出现死循环,怎么改
import java.util.Scanner;
public class MenuPrint{
public static void main(String[] args){
//使用输出语句输出菜单
System.out.println("==============");
System.out.println("请输入数字");
System.out.println("1--继续下一关");
System.out.println("2-- 重玩");
System.out.println("3--退出");
System.out.println("==============");
//从键盘输入数据,存储到整型变量中
Scanner sc= new Scanner(System.in);
// int d =sc.nextInt();
//使用while循环,并在循环中判断输入的数据是0还是1,并给出提示
while(true)
{
int d =sc.nextInt();
if(d==1){
System.out.println(" 下一关") ;
}
else if(d==2) {
System.out.println(" 重玩") ;
}
//输出退出
else if (d==3){
System.out.println(" 退出") ;
break;
}
}
}
}
正在回答 回答被采纳积分+1
同学你好,代码完成的不错,同学的代码当输入1和2时,并没有出现死循环哦~而是在等待下一次的输入操作,
建议根据题目要求,在循环最后要再显示菜单并继续输入数字,使界面更加美观,具体如下:

修改后的代码如下:
import java.util.Scanner;
public class MenuPrint {
public static void main(String[] args) {
// 使用输出语句输出菜单
System.out.println("==============");
System.out.println("请输入数字");
System.out.println("1--继续下一关");
System.out.println("2-- 重玩");
System.out.println("3--退出");
System.out.println("==============");
// 从键盘输入数据,存储到整型变量中
Scanner sc = new Scanner(System.in);
// int d =sc.nextInt();
// 使用while循环,并在循环中判断输入的数据是0还是1,并给出提示
while (true) {
int d = sc.nextInt();
if (d == 1) {
System.out.println(" 下一关");
}
else if (d == 2) {
System.out.println(" 重玩");
}
// 输出退出
else if (d == 3) {
System.out.println(" 退出");
break;
}
System.out.println("==================");
System.out.println("输入数字,选择要执行的操作");
System.out.println("1--继续下一关" );
System.out.println( "2--重玩");
System.out.println("3--退出");
System.out.println("==================");
}
}
}如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
根据你的代码执行结果,和读代码来说你得循环就是只有当输入3的时候才会退出循环,输入1和2会继续循环等待你得下次输入,而且如果输入其他的数字或字符,程序将继续等待
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星