Всем привет! Задачка не отсюда.
Есть задача. Дан двухмерный массив. Заполнен значениями true или false. Необходимо проверить одинаковы ли элементы лежащие на диагонали.
Написал код. Вроде работает, но в одном случае получается не тот результат. Что я делаю не так?
package ru.myproj.array;
/**
* Created by vicba on 31.07.2018.
*/
public class MatrixCheck {
public boolean mono(boolean[][] data) {
boolean result = true;
int index = data.length;
for (int i = 0; i < index; i++) {
if (!(data[i][i] == data[index - 1][index - 1]) || !(data[index - i - 1][i] == data[0][index - 1])) {
result = false;
break;
}
}
return result;
}
}
Если входной массив
boolean[][] input = {
{true, true, false},
{false, false, true},
{false, false, false}
};
то по идее на побочной диагонали элементы одинаковые, но прога выдает false. Помогите разобраться пожалуйста.