2 svar
41 visningar
Koya_The_Koala2.0 är nöjd med hjälpen!
Koya_The_Koala2.0 36
Postad: 8 dec 2020

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?

Laguna Online 12476
Postad: 8 dec 2020

I den yttre loopen ska du nog ha row++ och inte r++. 

Koya_The_Koala2.0 36
Postad: 9 dec 2020

Tack, det löste problemet !!

Svara Avbryt
Close