【问题标题】:infinite loop unable to close loop in Switch Statements无限循环无法在 Switch 语句中关闭循环
【发布时间】:2018-02-28 06:48:25
【问题描述】:
import java.util.Scanner;

class MenuFastFood {

    public static void main(String[] args) {

        String s;
        char order;

        Scanner keyboard = new Scanner(System.in);

        s = keyboard.next();
        s = s.toUpperCase();
        order = s.charAt(0);

        do {
        switch(order) { 
            case 'A': 
                System.out.println("CheeseBurger");
                System.out.println("Onion Rings");
                System.out.println("Soda");
                break;

            case 'B':
                System.out.println("Hot dog");
                System.out.println("Fries");
                System.out.println("Milk Shake");
                break;

            default: 
                System.out.println("error");
                return;     

            case 'X':
                System.out.println("EXIT"); 
                break;          
            }
        }while(order != 'X');
    }

我的程序假设根据输入到键盘的字符来选择一个项目,然后如果选择了另一个项目则循环返回。当我运行它并选择一个项目时。它永远循环该项目。如何让它停止并让我能够选择另一个项目?

【问题讨论】:

  • 您需要在循环内部读取一些输入。
  • 将do之前的3个语句移动到switch之前的循环内。
  • 它可以工作。谢谢。我是代码新手,但我仍然对一些细节有些迷茫

标签: java loops do-while


【解决方案1】:

将用于读取输入的代码移至 do..while

        s = keyboard.next();
        s = s.toUpperCase();
        order = s.charAt(0);

【讨论】:

    猜你喜欢
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多