# Mehrdimensionale Arrays



## GregFox (4. Dez 2021)

Hallo, vielleicht kann mir einer bei dieser Aufgabe weiterhelfen.
Danke schonmal im Voraus

Schreiben Sie eine Applikation, die eine (5 × 10)-Tabelle erzeugt, deren Eintrag das Produkt der entsprechenden Zeilen- und Spaltennummer der Zelle ist. Geben Sie diese so erzeugte Tabelle auf der Konsole wie folgt aus:
[1 2 3 4 5 6 7 8 910] 
[2 4 6 8101214161820]
[3 6 912151821242730]
[4 81216202428323640] 
[ 5 10 15 20 25 30 35 40 45 50 ]


----------



## GregFox (4. Dez 2021)

[CODE lang="java" title="Das ist das was ich bisher habe..."]public class Praxisaufgabe7 {
    public static void main(String[] args) {
        int[][][][][] zahlen = new int[10][10][10][10][10];

        for(int i = 0; i<zahlen.length; i++){
            for(int j = 0; j<zahlen_.length; j++){
                zahlen[j]=j*j;
            }
        }
    }
}[/CODE]_


----------



## kneitzel (4. Dez 2021)

Was für Array deklarierst Du denn da und wie initialisierst Du es? Schau Dir das einfach noch einmal an.

Und dann ist der Code schon rect gut - du musst nur schauen, was Du da für Zahlen schreibst. Von wo bis wo geht der Index? Und was für Zahlen willst Du haben?


----------



## GregFox (4. Dez 2021)

kneitzel hat gesagt.:


> Was für Array deklarierst Du denn da und wie initialisierst Du es? Schau Dir das einfach noch einmal an.
> 
> Und dann ist der Code schon rect gut - du musst nur schauen, was Du da für Zahlen schreibst. Von wo bis wo geht der Index? Und was für Zahlen willst Du haben?


Kann es sein das bei der Initialisierung dann auch 5 eckige Klammern vorhanden sein müssen?
Also so: zahlen_[j][][][]=i*j;
Dann bekomme ich zumindest keine Fehlermeldung mehr, ich habe dann nur keine Idee was und die Klammern rein muss.
Ich hatte das so verstanden, dass i und j quasi die Position angeben, wie in einer Tabelle, die beschrieben werden soll, aber dann bräuchte man ja eig. nur 2 klammern oder?_


----------



## kneitzel (4. Dez 2021)

GregFox hat gesagt.:


> aber dann bräuchte man ja eig. nur 2 klammern oder?


Das wäre doch eine Idee. Wenn man das nur braucht, dann setz das doch auch bei der Deklaratio so um.


----------



## temi (4. Dez 2021)

Jede Klammer ist eine "Dimension". Wie viele Dimensionen hat denn eine Tabelle mit Zeilen und Spalten?

Damit `new int[10][10][10][10][10];` erzeugst du eine Tabelle mit (10 x 10 x 10 x 10 x 10) "Zellen".


----------



## GregFox (4. Dez 2021)

Danke euch, ich hatte das mit den Dimensionen falsch verstanden, weil in meinem Fall hat die Tabelle nur 2 Dimensionen.


----------



## GregFox (4. Dez 2021)

[CODE lang="java" title="Jetzt läufts "]public class Praxisaufgabe7 {
    public static void main(String[] args) {
        int[][] zahlen = new int[5][10];

        for(int i = 0; i<zahlen.length; i++){
            for(int j = 0; j<zahlen_.length; j++){
                zahlen[j]=(i+1)*(j+1);
            }
        }

        for(int i = 0; i<zahlen.length; i++){
            for(int j = 0; j<zahlen.length; j++){
                System.out.print(zahlen[j]+" ");
            }
            System.out.println("");
        }
    }
}[/CODE]_


----------

