While 循环随机循环。不知道为什么。

面包迷18

这里是 Java 菜鸟。我正在尝试编写一个“应用程序菜单”程序,为用户提供他们可以运行的不同应用程序的主菜单。一旦他们做出选择,该应用程序就会运行,然后为他们提供返回主菜单或退出程序的选项。我在这里遇到了一个问题,如果用户通过反复返回主菜单来运行多个应用程序,当他们最终选择退出程序的选项时,他们会被提示进行与退出选择相同的次数用户运行不同的应用程序。意思是,如果在运行期间,他们运行了 4 次应用程序,他们会被重新提示“1 返回主菜单或 2 退出”提示 4 次。帮助??

public class Menu {
    private MathPractice math = new MathPractice();
    private Scanner scan = new Scanner(System.in);
    private Calculator calc = new Calculator();
    private BasePage base = new BasePage();
    private String menuHeader = "Welcome to the Math Applications Menu";

    public void mainMenu()
    {
        while (true){
            System.out.println();
            base.headerUnderline(menuHeader);
            System.out.println(menuHeader);
            base.headerUnderline(menuHeader);
            System.out.println("Enter 1 for Bill Pay");
            System.out.println("Enter 2 for Multiplication Table");
            System.out.println("Enter 3 for Test Score");
            System.out.println("Enter 4 for Calculator");
            base.headerUnderline(menuHeader);

            int userChoice = scan.nextInt();

            if (userChoice == 1)
            {
                math.billPay();
                postAppMenu();
                break;
            }
            else if (userChoice == 2)
            {
                math.multiplicationTable();
                postAppMenu();
                break;
            }
            else if (userChoice == 3)
            {
                math.testScore();
                postAppMenu();
                break;
            }
            else if (userChoice == 4)
            {
                calc.calculator();
                postAppMenu();
                break;
            }
            else {
                System.out.println("Please select a valid option!");
            }
        }
    }

    private void postAppMenu()
    {
        while (true){
            base.headerUnderline(menuHeader);
            System.out.println("Enter 1 for Main Menu");
            System.out.println("Enter 2 to Quit");
            base.headerUnderline(menuHeader);

            int userChoice = scan.nextInt();

            if (userChoice == 1){
                mainMenu();
            }
            else if (userChoice == 2){
                System.out.println("Thank your for using the Math Application.");
                System.out.println("Have a good day. Goodbye.");
                break;
            }else {
                System.out.println("That's not a valid selection");
            }
        }

    }
}
核心

如果在调用 mainMenu 后中断 postAppMenu 方法会发生什么?

    if (userChoice == 1){
        mainMenu();
        break;
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我不知道为什么我的while循环不会在“ else”处中断

我们需要打印这个模式,但我不知道为什么我的代码没有打印正确的模式,而且我们只能使用 while 循环

不知道为什么我的循环不循环

For循环不会结束。不知道为什么

不知道为什么我的python输出循环

无限循环,我不知道为什么

我想知道为什么我的程序没有在我的 while 循环中停止

我是 python 新手,我想知道为什么这个 while 循环不起作用

带有多个 ifs 的 VBA 循环无法编译,不知道为什么

我不知道为什么循环不会停止!爪哇

不知道为什么我的循环功能在这里不起作用

我的函数没有进入for循环,我也不知道为什么

我的主要功能是无限循环重复,但我不知道为什么

我的程序无限循环,老实说我不知道为什么

For循环python(初学者):不知道为什么这行不通

我的for嵌套循环未执行,我也不知道为什么

循环不止一次运行,不知道为什么

我不知道为什么我的程序没有进入循环

For Each 循环提前结束,我不知道为什么

我的程序一直循环,我不知道为什么

不知道在这种情况下如何做一个 while 循环

vue js v-for 指令中的函数调用使循环进入无限循环,我不知道为什么

我得到了一个似乎是无限循环的东西,但不知道为什么 - PHP/WordPress

我不知道为什么这个for循环程序不起作用(python)。解决方案?

不知道为什么,但我的代码破坏了命令提示符(可能是无限循环)

使用break,pass,continue的for和while循环。我不知道下一个应该去哪里

有没有一种更优雅的方式在Ruby中编写不知道数组大小的while循环?

随机打印出 int 的大小,不知道为什么

摇滚/纸/剪刀游戏输出随机结果,我不知道为什么