所以基本上,我试图让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!");
}
}
}
答案 0 :(得分:1)
您的switch
一次只执行一次"#34; - 这是你的开关处于for循环中导致你出现问题的事实......
你可以放一个"休息"在切换switch(x) { ... } break;
之后,但真正为什么在你不想要的时候循环 - 只需打开说第一把钥匙。
答案 1 :(得分:0)
您当前正在for循环中运行switch case,它遍历数组allKeys中的每个id。因为您假定用户拥有allKeys,所以我只是删除for循环,并选择您希望用户执行的任何键,并让该键通过switch语句。