输入数字之后一直无限输出怎么办?

来源:5-2 编程练习

街头小霸王

2020-03-27 17:12:11

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("0--退出");

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

        Scanner sc =new Scanner(System.in);

        int m = sc.nextInt();

        

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

while(true){

    if(m==1){

      System.out.println("==============");

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

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

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

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

    }

    if(m==2){

       System.out.println("==============");

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

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

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

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

    }

    if(m==0){

         

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

    }

}

    }

}


写回答

1回答

好帮手慕小班

2020-03-27

同学你好,这里有一个小问题,同学需要将   int m = sc.nextInt();  放在循环中,每次循环接收一个数据,但是不能放在循环外面,这样会在循环中一直执行这一个数据。修改后代码如下:

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("0--退出");

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

		Scanner sc = new Scanner(System.in);

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

		while (true) {

			int m = sc.nextInt();

			if (m == 1) {

				System.out.println("==============");

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

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

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

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

			}
			if (m == 2) {

				System.out.println("==============");

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

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

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

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

			}

			if (m == 0) {

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

		}

	}

}

如上所示,再来尝试一下。

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

0

0 学习 · 393 问题

查看课程