gpt4 book ai didi

java - 如何从一维数组填充二维数组的列

转载 作者:行者123 更新时间:2023-12-02 04:06:26 25 4
gpt4 key购买 nike

嗨,我正在大学计算机科学专业一年级,在学校我们必须做一个 Java 项目(小游戏),其中战士们互相战斗。关键是他们不幸地用特定的方法“强制”了我们。

因此,对于每个战士的“超能力技能”,我们​​有一个 boolean 表。我们必须使用 boolean 数组,以便稍后可以检查某个战士是否具有特定的 super 技能

我想编写一个 String 方法来检索每个 boolean 元素的 String 值,然后将该方法放入我的二维数组的第 2 列中。

我的问题是:在二维数组的第 n°2 列,我想将 superSkills 数组中的每个 boolean 值放在右行。

我试图将我的方法retrieveBoolean放在第2列,但是正如你所看到的,它为我提供了[row1 column2, row2, column2 and row 3 , column2]处的所有 boolean 数组,这是我不想要的,我想要每个元素我的 boolean 数组的 e1, e2 匹配 row1column1,row2column2...

public class SuperSkills {

private static boolean[] superSkills = { true, false, true };

public static String retrieveSkills() {
String myS = "";

for (int i = 0; i < superSkills.length; i++) {
myS += String.valueOf(superSkills[i]);
}

return myS;
}

public static void main(String[] args) {
String[][] myArray = { { "X0", "", "Z1" },
{ "X1", "", "Z1" },
{ "X2", "", "Z2" } };

for (int i = 0; i < myArray.length; i++) {
for (int j = 0; j < myArray.length; j++) {
myArray[j][1] = retrieveSkills();
}
}

System.out.println(Arrays.deepToString(myArray));

}

我知道这与我的方法retrieveSkills 中的 myS 串联有关,但我不知道如何解决该问题。

输出:

[[X0, truefalsetrue, Z1], [X1, truefalsetrue, Z1], [X2, truefalsetrue, Z2]]

我想要什么:

[[X0, true, Z1], [X1, false, Z1], [X2, true, Z2]]

提前感谢您的帮助:)

最佳答案

问题是您要在单个字符串变量 myS 中生成所有“boolean 字符串”,因此我们将更改一些代码,我将解释原因。首先,在方法 superSkills() 中,我们将通过做一些小的更改来使该方法直接返回所要求的值:

 public static String retrieveSkills(int skillID) {
try {
return String.valueOf(superSkills[skillID]);
} catch (Exception e) {
return "NA";
}
}

通过这样做,我们只需要发送 SkillID 或列以将其作为字符串获取,请注意,我们将其放置在 try-catch 中以防万一,当我们使用数组作为良好实践时,我们会这样做。

然后我们将 SkillID 发送到 main 中的方法

myArray[j][1] = String.valueOf(superSkills[j]);

关于java - 如何从一维数组填充二维数组的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34239038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com