This question already has answers here:
Switch without break

(6个答案)


在10个月前关闭。





我想基于变量值运行不同的类..但是,当我选择第一个值时,它将运行所有类..当我选择第二个值时,它将运行最后两个类;当我选择第三个值时,它将运行最后一个类..是我的代码中的问题..谢谢

String[] args = null;
        String y =  ps.getSelectedtype() ;
        String[] keys = {"Type1", "Type2", "Type3"};
        String[] values = {"conditionA", "conditionB", "conditionC"};
        String match = "default";

                for (int i = 0; i < keys.length; i++) {
                    if (y.contains(keys[i])) {
                        match = values[i];
                        break;
                    }
                }
                switch (match) {
                case "conditionA":
                    FirstClass.main(args);
                case "conditionB":
                     SecondClass.main(args);
                case "conditionC":
                     ThirthClass.main(args);
             }

最佳答案

方法执行后,您错过了一个休息时间。

switch (match) {
    case "conditionA":
        FirstClass.main(args);
        break;
    case "conditionB":
        SecondClass.main(args);
        break;
     case "conditionC":
        ThirthClass.main(args);
        break;
}


在这里看看以了解switch语句如何工作:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

09-05 21:09
查看更多