[Java] Przypisanie dwóch wartości w pętli

Witam, kolejny problem na drodze edukacyjnej w Javie. Posiadam tablicę dwuwymiarową i chcę aby każdej wartości z 1 pierwszego wymiaru została przypisana wartość z drugiego. Napisałem coś takiego:

package Lesson12.Loops;

public class Ex6 {
    int[][] numbers = {{2, 4, 5}, {10, 100, 101}};
    private void numbersToBinary() {
        for (int i = 0; i < numbers.length; i++) {
            for (int j = 0; j < numbers[i].length; j++) {
                System.out.print(numbers[i] + "=>" + numbers[i][j] + "\n");
            }
        }
    }
    public static void main(String[] args) {
        Ex6 l = new Ex6();
        l.numbersToBinary();
    }

}

Wynik:
[I@1540e19d=>2
[I@1540e19d=>4
[I@1540e19d=>5
[I@677327b6=>10
[I@677327b6=>100
[I@677327b6=>101
jednak wynik nie jest poprawny. Prośba o sugestie co jest źle.

Nie ma czegoś takiego jak wartość pierwszego wymiaru albo drugiego. To że tablica jest dwuwymiarowa to znaczy, że położenie konkretnej wartości w tablicy jest kombinacją dwóch współrzędnych. Więc napisz jeszcze raz co chcesz zrobić.

Efekt końcowy powinien być następujący:
2 => 10
4 =>100
5 => 101

Więc powinno być tak:


package Lesson12.Loops;

public class Ex6 {
    int[][] numbers = {{2, 4, 5}, {10, 100, 101}};
    private void numbersToBinary() {
        for (int i = 0; i < numbers.length; i++) {
                System.out.print(numbers[0][i] + "=>" + numbers[1][i]+ "\n");
        }
    }
    public static void main(String[] args) {
        Ex6 l = new Ex6();
        l.numbersToBinary();
    }

}

Nie do końca rozumiem ten zapis. Mam warażenie że nie rozumiesz czym w ogóle jest tablica a zwłaszcza tablica dwu wymiarowa (tak zwana macierz).

W obecnej formie Twoja tablica wygląda następująco:

+----+-----+-----+
| 2  |  4  |  5  |
+----+-----+-----+
| 10 | 100 | 101 |
+----+-----+-----+

Co Ty chcesz dalej z tym zrobić? Przypisać elementom pierwszego wiersza wartości z drugiego czyli by wyglądała tak:

+----+-----+-----+
| 10 | 100 | 101 |
+----+-----+-----+
| 10 | 100 | 101 |
+----+-----+-----+

O to chodzi, czy o coś innego?

Dzięki za pomoc, dokładnie o to chodziło :slight_smile: