隐藏大小写,直到满足参数

时间:2019-01-27 18:56:23

标签: java switch-statement

我正在尝试编写天气状况模型。我的开关/外壳有问题。我希望我的情况之一不可用,用户填写第二个变量。我该怎么做?这是代码片段

 switch (choice) {
            case 0:
                System.out.println("Exit");
                break;
            case 1:

                int yInch = in.nextInt();
                yester = CondYest(yInch);

                break;
            case 2:
                System.out.println("Enter/Update Today's Weather Prediction");
                int tInch = in.nextInt();
                today = CondToday(tInch);
                break;
            case 3:
                System.out.println();
                System.out.println("Display Snow Prediction");
                System.out.println("Today's Snow Fall is " + today + " inches!");
                System.out.println("Yesterday's Snow Fall was " + yester + " inches!");
                System.out.println();
                break;
            default:
                System.out.println("Please Try again");
                break;
        }
    } while (choice != 0);

1 个答案:

答案 0 :(得分:0)

“入门级”答案是:有多个switch语句。

换句话说:“控制器”组件了解存在哪些不同的“菜单”,以及需要满足哪些先决条件才能做出该决定。

要将其变为现实解决方案,您可能需要在此处使用多态。像:有一个提供说showMenu()方法的基类,该方法显示选择并询问所需的输入。该类还具有(抽象的)具有不同行为的方法。

然后添加多个子类,以根据需要@Override这些基本方法。

最后,您的控制器然后“仅”必须确定要实例化的类,以显示当前有效的选择。