Я пишу метод с 2 параметрами, одним из матрицы типа int и одним массивом типа intМетод должен возвращать сумму элементов a [] [], кратных в массиве b [].
Вот код метода
public static int sum(int[][] a, int[] b) {
int matrixSum = 0;
if (a != null && b != null) {
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length; j++) {
boolean multiple = false;
boolean nullRow = false;
if (a[i] == null || a[i].length < 1) {
nullRow= true;
} else {
for (int k = 0; k < b.length && !multiple; k++) {
if (b[k] % a[i][j] == 0) {
matrixSum += a[i][j];
multiple = true;
}
}
}
}
}
}
return matrixSum;
}
Это тестовый класс
public static void main(String[] args) {
int[][] a = {{2, 3, 1}, {1, 1, 1}, {2, 2, 2}};
int[][] a1 = {{2, 3}, {1, 1, 1}, {2, 2, 2}};
int[][] a2 = {{2, 3, 4}, {1, 1}, {2, 2, 2}};
int[][] a3 = {{2, 3, 4}, {1, 2, 3}, {1, 1}};
int[] b = {7, 8, 7, 20};
System.out.println(sum(a, b)); // 15
System.out.println(sum(a1, b)); // 11
System.out.println(sum(a2, b)); // 14
System.out.println(sum(a3, b)); // 11
}
В некоторых случаях это работает, в других нет, некоторые результаты неверны, а в других случаях я получаю OutBound error