[英]3D Arrays not working
public static String[] getWords(int cat, int diff) {
String topic[][][] = new String[3][3][3];
switch(cat){
case 0:
topic[0][0][0] = "Paris";
topic[0][0][1] = "London";
topic[0][0][2] = "Sydney";
diff = 0;
topic[0][1][0] = "Toronto";
topic[0][1][1] = "Florida";
topic[0][1][2] = "Frankfurt";
diff = 1;
topic[0][2][0] = "Barcelona";
topic[0][2][1] = "Vancouver";
topic[0][2][2] = "Zimbabwe";
diff = 2;
case 1:
topic[1][0][0] = "Halo";
topic[1][0][1] = "Fifa";
topic[1][0][2] = "GTA";
diff = 0;
topic[1][1][0] = "Skyrim";
topic[1][1][1] = "HITMAN";
topic[1][1][2] = "Batman";
diff =1;
topic[1][2][0] = "Minecraft";
topic[1][2][1] = "Zombieville";
topic[1][2][2] = "BoderLands";
diff =2;
case 2:
topic[2][0][0] = "Acura";
topic[2][0][1] = "Audi";
topic[2][0][2] = "Bmw";
diff = 0;
topic[2][1][0] = "Bentley";
topic[2][1][1] = "Buggati";
topic[2][1][2] = "Honda";
diff = 1;
topic[2][2][0] = "Lamborghini";
topic[2][2][1] = "Rolls-Royce";
topic[2][2][2] = "Mercedes";
diff = 2;
}
return topic[cat][diff];
}
因此,这是我使用3d数组的方法,我想知道我是否做对了,如果我在main方法中调用它,它将起作用吗? 我使用了switch语句,因为有人向我推荐了它,我对Java真的很陌生,因为您可以看到这是针对Hangman游戏的
不,不会。 您的开关没有任何break;
语句,因此在遇到第一个case
为true的情况后,它将执行此后的所有语句,直到切换结束或您break;
为止break;
或return
。
此外,对以下人员的调用:
diff = 0;
// ...
diff = 1;
// ...
diff = 2;
冗余,因为从不使用分配的值。
因此应该是:
switch(cat)
{
case 0:
topic[0][0][0] = "Paris";
topic[0][0][1] = "London";
topic[0][0][2] = "Sydney";
topic[0][1][0] = "Toronto";
topic[0][1][1] = "Florida";
topic[0][1][2] = "Frankfurt";
topic[0][2][0] = "Barcelona";
topic[0][2][1] = "Vancouver";
topic[0][2][2] = "Zimbabwe";
break;
case 1:
topic[1][0][0] = "Halo";
topic[1][0][1] = "Fifa";
topic[1][0][2] = "GTA";
topic[1][1][0] = "Skyrim";
topic[1][1][1] = "HITMAN";
topic[1][1][2] = "Batman";
topic[1][2][0] = "Minecraft";
topic[1][2][1] = "Zombieville";
topic[1][2][2] = "BoderLands";
break;
case 2:
topic[2][0][0] = "Acura";
topic[2][0][1] = "Audi";
topic[2][0][2] = "Bmw";
topic[2][1][0] = "Bentley";
topic[2][1][1] = "Buggati";
topic[2][1][2] = "Honda";
topic[2][2][0] = "Lamborghini";
topic[2][2][1] = "Rolls-Royce";
topic[2][2][2] = "Mercedes";
break;
}
你需要休息一下; 在两种情况之间。 因为没有间断,它只会简单地经历所有情况。 好吧,每一种情况都是1,2&3是2,只有3。
所以3是唯一可以正确破解的,因为既然是最后一个,您就不需要一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.