我想檢查我的二維數組是否對稱。我寫了一個方法來檢查數組是否是對稱的。它總是返回true,即使我改變了輸入數組中的元素。我究竟做錯了什麼?當我更改數組的元素時,爲什麼我的方法不會返回false?
這裏是我的代碼:
public class learnigBoolean
{
public static void main(String[] args)
{
int[][] array = {
{ 1, 1, 4, -1},
{ 1, 5, 0, -1},
{ 4, 0, 1, -4},
{-1, -1, 4, 10}
};
System.out.println(symetrisk(array));
}
public static boolean symetrisk(int[][] f)
{
for (int out = 0; out < f.length; out++) {
for (int in = 0; in < f[out].length; in++) {
if (f.length == f[out].length && f[out][in] == f[out][in]) {
return true;
}
}
}
return false;
}
}
有沒有指向'f [out] [in] == f [out] [in]'?任何給定的值總是與自身相等。 –
當你輸入for循環時,'out'和'in'值都設置爲0,你會得到if條件爲真,並立即返回true,所以你基本上只檢查一個值 –
@MarcB不,'NaN'不會... – glglgl