当输入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时,并没有出现死循环哦~而是在等待下一次的输入操作,
建议根据题目要求,在循环最后要再显示菜单并继续输入数字,使界面更加美观,具体如下:
修改后的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 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( "==================" ); } } } |
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧