我正在尝试编写天气状况模型。我的开关/外壳有问题。我希望我的情况之一不可用,用户填写第二个变量。我该怎么做?这是代码片段
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);
答案 0 :(得分:0)
“入门级”答案是:有多个switch语句。
换句话说:“控制器”组件了解存在哪些不同的“菜单”,以及需要满足哪些先决条件才能做出该决定。
要将其变为现实解决方案,您可能需要在此处使用多态。像:有一个提供说showMenu()
方法的基类,该方法显示选择并询问所需的输入。该类还具有(抽象的)具有不同行为的方法。
然后添加多个子类,以根据需要@Override这些基本方法。
最后,您的控制器然后“仅”必须确定要实例化的类,以显示当前有效的选择。