我需要複製一個2D布爾數組並將每個布爾值更改爲其相反的值......將true改爲false並將false改爲true。我意識到我的代碼中還可能存在其他一些問題,但這是我的主要問題。如何將2D數組中的每個布爾值更改爲相反?
我收到以下錯誤:
錯誤:不兼容的類型:布爾[]不能被轉換爲布爾[] []
布爾[] [] = newArray新的布爾[array.length];
錯誤:找不到符號
如果(newArray [I] [I] = FALSE)
我對每[I]變量相同的錯誤在if語句。
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;
}
}
我認爲錯誤信息已經足夠清楚了。你爲什麼不同意? –
有一件事:你需要==來比較兩個布爾值。您在單個條件下的使用情況=條件是指派,而不是比較! – GhostCat
我不知道如何解決這個錯誤。 – user3403708