为什么不对呢?

来源:5-2 编程练习

qq_慕尼黑7587302

2019-10-01 00:20:49

import java.util.Scanner;

public class MenuPrint{

    public static void main(String[] args){

        //使用输出语句输出菜单

        Scanner sc = new Scanner(System.in);

        System.out.println("输入数字,选择要执行的操作:");

        System.out.println("1--继续下一关");

        System.out.println("2--重玩该关卡");

        System.out.println("0--退出");

    //从键盘输入数据,存储到整型变量中

       

        int i = sc.nextInt();

        

//使用while循环,并在循环中判断输入的数据是0还是1,并给出提示

        

        while(1){

            if(i == 1)

            System.out.println("下一关开始了!");

            else if(i == 2)

            System.out.println("继续本关卡");

            else{

            System.out.println("退出!");

            break;    

            }

        }

//输出退出

        

    }

}


写回答

2回答

好帮手慕酷酷

2019-10-06

同学你好,代码思路很棒,但是在实现上还有点问题:

1、循环的条件,应该是true,而不是1。具体如下:

http://img.mukewang.com/climg/5d997eeb0916ed0503500110.jpg

2、需要循环输入,所以要将键盘输入放在while循环体中。具体如下:

http://img.mukewang.com/climg/5d998027098a076b05250316.jpg

3、根据题目要求,在循环最后要再显示菜单并继续输入数字,使界面更加美观,具体如下:

http://img.mukewang.com/climg/5d99810a0906cc7605270310.jpg

修改后的代码如下:

import java.util.Scanner;

public class MenuPrint{

   public static void main(String[] args){

        //使用输出语句输出菜单

        Scanner sc = new Scanner(System.in);

        System.out.println("输入数字,选择要执行的操作:");

        System.out.println("1--继续下一关");

        System.out.println("2--重玩该关卡");

        System.out.println("0--退出");


		//使用while循环,并在循环中判断输入的数据是0还是1,并给出提示

        

        while(true){
        	int i = sc.nextInt();

            if(i == 1)

            System.out.println("下一关开始了!");

            else if(i == 2)

            System.out.println("继续本关卡");

            else if(i==0){

            System.out.println("退出!");

            break;    

            }
            System.out.println("输入数字,选择要执行的操作:");

            System.out.println("1--继续下一关");

            System.out.println("2--重玩该关卡");

            System.out.println("0--退出");

        }

		

		//输出退出

        

    }

}

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

1

52066

2019-10-02

有两个问题吧,第一个while循环条件里面不能写1可以写true
但是会出现第二个问题,那就是死循环
所以你得把键盘输入的语句放在循环里,这样每次都会等待输入,

直到输入的值不是1和2的时候就会跳出循环了

0

0 学习 · 393 问题

查看课程