[英]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.