Мне нужно скопировать 2D булевский массив и изменить каждое значение boolean на его противоположное ... Измените true на false и false на true. Я понимаю, что у меня также есть некоторые другие проблемы в моем коде, но это моя основная проблема.Как я могу изменить каждое логическое значение в 2D-массиве на противоположное?
Я получаю следующие ошибки:
ошибка: несовместимые типы: логическое [] не может быть преобразовано в булево [] []
логический [] [] newArray = новый логический [array.length];
ошибка: не удается найти символ
если (newArray [я] [я] = ложь)
У меня такая же ошибка для каждого [I] переменной в если заявления.
public class mod4Lec
{
public static void main(String[] args) {
//Creates array of boolean
boolean[][] array = {
{true, false, true, false},
{false, true, false, true},
{true, false, true, false},
{false, true, false, true},
};
System.out.println("Before: ");
//Prints original array
for(int row=0; row<array.length; row++) {
for(int column=0; column<array[row].length; column++)
System.out.print(array[row][column] + " ");
System.out.println();
}
}
//Pass array to method
public static void swapArray(boolean[][] array){
//Copy array
boolean[][] newArray = new boolean[array.length];
for (int column = 0; column < array.length; column++)
newArray[row][column] = array[row][column];
//Search for boolean true and switch to false
for (int i = 1; i < newArray.length; i++){
if(newArray[i][i] = true)
newArray[i][i] = false;
}
//Search for boolean false and switch to true
if(newArray[i][i] = false){
newArray[i][i] = true;
}
return newArray;
}
}
Я думаю, что сообщение об ошибке достаточно ясно. Почему вы не согласны? –
Одна вещь: вам нужно == СРАВИТЬ два булева. Ваше использование single = в условиях if является НАЗНАЧЕНИЕМ, а не сравнением! – GhostCat
Я не знаю, как исправить ошибку. – user3403708