中断switch语句执行一个案例

时间:2016-01-21 00:04:20

标签: switch-statement break execution

所以基本上,我试图让switch语句只执行一次。而不是执行所有这些。 假设玩家的库存中包含所有钥匙。 我只想要执行一个案例,而不是通过所有案例。 (我只想看一个执行)

public int[] allKeys = {1543, 1544, 1545, 1546, 1547, 1548};

if (player.getInventory().containsAny(allKeys)) {
                      for (int id : allKeys) {
                          switch(id) {
                          case 1543:
                              System.out.println("executed");
                              break;
                          case 1544:
                              System.out.println("executed");
                              break;
                          case 1545:
                              System.out.println("executed");
                              break;
                          case 1546:
                              System.out.println("executed");
                              break;
                          case 1547:
                              System.out.println("executed");
                              break;
                          case 1548:
                              System.out.println("executed");
                              break;
                            default:
                              System.out.println("error!");
                          }
                        }
                    }

2 个答案:

答案 0 :(得分:1)

您的switch一次只执行一次"#34; - 这是你的开关处于for循环中导致你出现问题的事实......

你可以放一个"休息"在切换switch(x) { ... } break;之后,但真正为什么在你不想要的时候循环 - 只需打开说第一把钥匙。

答案 1 :(得分:0)

您当前正在for循环中运行switch case,它遍历数组allKeys中的每个id。因为您假定用户拥有allKeys,所以我只是删除for循环,并选择您希望用户执行的任何键,并让该键通过switch语句。