我试图让此代码循环遍历嵌套字符串/数组并根据给定的输入值输出值。
// wepName - {"Weapon Name Here", "Player Damage", "Block Damage", "Range"}
String[] weapon_44Magnum = {"44 Magnum", "150", "50", "45"};
String[] weapon_airFilterLandMine = {"Air Filter Land Mine", "300", "200", "5"};
String[] weapon_huntingRifle = {"Hunting Rifle", "125", "50", "100"};
//Nested string arrays
public String[] string_allWeapons[] = {weapon_44Magnum,weapon_airFilterLandMine,weapon_huntingRifle};
public String GetPlayerDamage(String weaponName) {
// Declaring var
String ret = "-1";
for (int j = 0; j < string_allWeapons[0].length; j++) {
ret = string_allWeapons[j][1] = ret;
System.out.println(string_allWeapons[j][1]);
}
return ret;
}
有什么解决办法吗?
最佳答案
您可以添加一个 if
来检查参数需要哪个数组,然后添加第二个循环
。
public class Stuff {
// wepName - {"Weapon Name Here", "Player Damage", "Block Damage", "Range"}
String[] weapon_44Magnum = {"44 Magnum", "150", "50", "45"};
String[] weapon_airFilterLandMine = {"Air Filter Land Mine", "300", "200", "5"};
String[] weapon_huntingRifle = {"Hunting Rifle", "125", "50", "100"};
//Nested string arrays
String[][] string_allWeapons = {weapon_44Magnum,weapon_airFilterLandMine,weapon_huntingRifle};
public static void main(String[] args) {
new Stuff().getPlayerDamage("44 Magnum");
}
public String getPlayerDamage(String weaponName) {
String ret = "-1";
for (int i = 0; i < string_allWeapons.length; i++) {
if(string_allWeapons[i][0].equals(weaponName)){
ret="";
for (int j = 1; j < string_allWeapons[i].length; j++) {
ret += " "+string_allWeapons[i][j];
}
System.out.println(ret);
return ret;
}
}
return ret;
}
}
关于Java - 对二维数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28377667/