Zweidimensionales Array als Tabelle mit befüllten Zahlen

Peter992

Mitglied
Hi ich möchte mit einem Zweidimensionalen Array was 10 Zeilen und 2 Spalten hat eine Tabelle ausgeben. Die Links z.B. die Zahlen von 1 - 10 Zeigt und Rechts dann das Quadrat der Zahl. Doch ich komme einfach nicht weiter wäre echt cool wenn ihr mir sagen könnt was ich falsch mache.
Code:
1 1
2 4
3 9
4 16
5 25
. .
. .
10 100
Java:
public class ZweidimensionalArry {

    public static void main(String[] args) {
        int[][] quadrat = new int[10][2];

        for (int i = 0; i < quadrat.length; i++) {
            for (int j = 0; j < quadrat[i].length; j++) {
                quadrat[i][j] = i+1 ;

                System.out.print(quadrat[i][j] + "\t");
            }

            System.out.println();
        }

    }

}

Bis jetzt wird es nur so ausgegeben
Code:
1 1 
2 2 
3 3 
4 4
usw..
 
Zuletzt bearbeitet von einem Moderator:
Ein zweidimensionales Array ist ein Array von Arrays. Dir fehlt bei der Zuweisung an das Array eine Dimension, z. B. quadrat[i][j] = i + 1;

Anstatt i und j könntest du die beiden Variablen auch "zeile" und "spalte" nennen, das erhöht die Übersicht für dich.

EDIT: Könnte aber auch sein, dass die nur fehlt, weil du den Code nicht in Codetags gesetzt hast (das Symbol </>). Dann wird der Index als kursiv interpretiert. Setz den Code noch mal rein, diesmal mit Codetags.
 
Du benötigst beide Dimensionen für die Ausgabe
Java:
quadrat[0][0] // entspricht oben links
quadrat[9][1] // entspricht unten rechts
Java:
quadrat[i][j] // i = 0..9 (Zeile), j = 0..1 (Spalte)
 
[CODE lang="java" title="ZweidimensionalArray Tabelle"]public class ZweidimensionalArray {

public static void main(String[] args) {
int[][] quadrat = new int[10][2];

for (int i = 0; i < quadrat.length; i++) {
for (int j = 0; j < quadrat.length; j++) {
quadrat[j] = i+1 ;

System.out.print(quadrat[j] + "\t");
}

System.out.println();
}

}

}[/CODE]
 
So jetzt kann man den Code besser sehen wie gesagt so bekomme ich nur immer die selben zahlen raus.
1 1
2 2 usw
Ich möchte das ganze ja als Tabelle mit dem Quadrat der Zahlen
1 1
2 4
3 9 usw
 
Mhh das hat mich jetzt auch nicht weiter gebracht ich weiß auch das man mit i +1 kein Quadrat bekommt aber wenn ich das mit dem i +1 lasse hab ich wenigsten in der ersten Spalte die Zahlen 1 bis 10 das Problem ist nur das in der zweiten Spalte auch die Zahlen von 1 bis 10 sind und da weiß ich nicht wie ich das beheben kann
 
Die innere for-Schleife (über j) würde ich weglassen und direkt schreiben:
Java:
quadrat[i][0] = i+1 ;
quadrat[i][1] = das musst du selber lösen
 
So jetzt kann man den Code besser sehen wie gesagt so bekomme ich nur immer die selben zahlen raus.
Das liegt daran, dass du in der inneren Schleife folgendes tust:
Java:
quadrat[i][0] = i+1; // ersten Schleifendurchlauf
quadrat[i][1] = i+1; // zweiter Schleifendurchlauf
Es steht also für beide Werte von j derselbe Wert im Array.
 
Ok die antworten haben mir jetzt echt ein bisschen geholfen bin jetzt schon etwas weiter aber hab noch nicht das richtige Ergebnis. Stehe da gerade echt auf einem Schlauch ich tüftel noch ein bisschen weiter melde mich wahrscheinlich noch mal
 

Zurück
Oben