Я изучаю Java. И я хотел создать код для проверки 2D-массива, который возвращает, является ли он магическим квадратом или нет.
Чтобы сделать это, мне пришлось написать несколько разных методов, и один из них был для проверки, все ли суммы элементов в каждом столбце равны. Я мог бы сделать для строк, но я немного запутался, когда я попытался сделать это для столбцов. И мой друг сказал, что это почти то же самое с методом, который проверяет, что суммы всех строк равны. Мой метод для строк ниже.
public static boolean rowSumsOK(int arr[][], int total) {
boolean a = false;
total = sumOneRow(arr);
int x=0; // this will be counted sum for each rows
for (int i=0; i<arr.length; i++){
for (int j=0; j<=arr.length; j++){
x = x + arr[i][j];
}
if(x != total){
a = false;
break;
}
else
a = true;
}
return a;
}
и он предложил изменить в этом методе для столбцов:
x = x + arr[j][i];
Я все еще немного запутался по этому поводу. Можете ли вы объяснить мне этот метод или показать мне другой способ сделать это, ребята?