java While循环保持运行(无限while循环)[已关闭]

7eumitmz  于 2023-02-02  发布在  Java
关注(0)|答案(2)|浏览(116)

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
2天前关闭。
Improve this question
只要用户不输入0,我就需要打印菜单,以便用户可以从菜单中选择另一个选项。当前,菜单正在打印,然后当我选择1列出产品时,它列出产品,然后无限打印菜单。此外,当用户选择0时,应用程序应退出。

public void executeMenu() {
        printMenu();
        
        int userInput = getNextIntFromUser();
        
        while (userInput != 0){
            //printMenu();
            
            if (userInput == 1) {
                shop.printProducts();
            
            } else if (userInput == 3) {
                System.out.println("Enter the item to search for:");
                String itemToFind = getNextStringLineFromUser();
                int userProduct = shop.findProduct(itemToFind);
                if (userProduct != -1) {
                    System.out.println(itemToFind + " was found and its product id is " + userProduct);
                } else {
                    System.out.println("That product was not found.");
                }
            }
            printMenu();
            getNextIntFromUser();
        } 
        exit();
        return;
    }
t30tvxxf

t30tvxxf1#

您从未在while循环中设置userInput,因此条件始终为真。

vngu2lb8

vngu2lb82#

将以下代码添加到while循环的末尾(在循环内部):

...
userInput = getNextIntFromUser();

以便您可以读取下一个输入,而不是无限打印菜单。

相关问题