Привет, я нахожусь в моей первой школе компьютерных наук, и для школы мы должны сделать проект java (маленькая игра) с воинами, сражающимися друг с другом. Дело в том, что они, к сожалению, «вынудили» нас использовать конкретные методы.Как заполнить столбцы 2D-массивов из массива 1D
Итак, для «сверхдержавных навыков» каждого воина у нас есть булевая таблица. Мы должны использовать логический массив, чтобы позже узнать, есть ли у какого-то воина определенный superSkill или нет.
Я думал написать метод String, который извлекает значение String для каждого булева элемента, а затем помещает этот метод в столбец 2 моего 2D-массива.
Мой вопрос: что в столбце n ° 2 моего 2D-массива я хотел бы поместить каждое логическое значение из моего массива superSkills в правой строке.
Я попытался установить в столбце 2 свой метод retrieveBoolean, но, как вы можете видеть, он дает мне весь логический массив в [row1 column2, row2, column2 и row 3, column2], который я не хочу, я хочу, чтобы каждый элемент 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, но я не знаю, как решить, что вопрос.
ВЫВОД:
[[X0, truefalsetrue, Z1], [X1, truefalsetrue, Z1], [X2, truefalsetrue, Z2]]
Что я хотел бы я иметь:
[[X0, true, Z1], [X1, false, Z1], [X2, true, Z2]]
Заранее спасибо за помощь :)
Я не понимаю, что вы хотите достичь. Если что-то является логическим, не представляйте его как строку. Держите его как логическое. Я также не знаю, для чего предназначен 2D-массив. Я бы ожидал увидеть класс 'Warrior', содержащий поле' skills' типа 'boolean []' (поскольку вы, видимо, вынуждены представлять навыки как логический массив) –
'myArray [j] [1] = String.valueOf (superSkills [J]); 'сделает трюк. –
Спасибо за ответы!:) – algorithmic