私の2D配列が対称であるかどうかをチェックしようとしています。配列が対称かどうかを調べるメソッドを書いた。入力配列の要素を変更しても、常に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] 'には何か指摘はありますか?任意の与えられた値は、常にそれ自体に等しくなるだろう。 –
また、 'out'と' in'の両方の値が0に設定されているforループを入力すると、if条件にtrueを返し、真にimmediatlyを返しますので、基本的には1つの値をチェックします。 –
@MarcBいいえ、 'NaN' – glglgl