2
svar
93
visningar
Koya_The_Koala2.0 behöver inte mer hjälp
Varför slutar den inte?
Hej!
Jag försöker skapa en metod som räknar ut summan av ett elements "grannar" i en 2d array. Såhär ser min kod ut:
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
// Create matrix from array
int[][] matrix = toMatrix(arr);
/* matrix should be (don't uncomment)
{ {1, 2, 3},
{4, 5, 6},
{7, 8, 9} }
*/
int sumNeighbours(int[][] matrix, int r, int c) {
int sum = 0;
out.println("I am" + " " + matrix[r][c]);
for (int row = r - 1; row <= r + 1; r++) {
for (int column = c - 1; column <= c + 1; column++) {
if (!(row == r && column == c) && (row >= 0 && column >= 0 && row < matrix.length && column < matrix[row].length)) {
sum += matrix[row][column];
out.println(matrix[row][column] + " ");
}
}
}
return sum;
}
}
När jag kör programmet så får jag det här:
Jag har testat debugga metoden, men jag kan inte hitta felet. Vad är det som inte funkar?
I den yttre loopen ska du nog ha row++ och inte r++.
Tack, det löste problemet !!