Hallo Community,
ich habe folgendes Problem:
Ich möchte ein 2 dimensionales Array mit 2 Zeilen und 9 Spalten erzeugen und in der ersten Zeile 9 Strings einfügen. Die 2te Zeile soll erstmal noch nicht befüllt werden.
Nun möchte ich mir den Inhalt des Arrays in einer for Schleife anzeigen lassen:
Java:
for(int i =0; i < tabNoten.length; i++){System.out.println(tabNoten[0][i]);}
Nun komme ich mit tabelle.length leider nur auf den Wert 2.
Woran liegt das und wie komme ich auf meinen eigentlich Wert von 9?
Ich stehe evtl auch gerade einfach nur auf dem Schlauch und bräuchte nen Schubs in die richtige Richtung.
publicclassTest{publicstaticvoidmain(String[] args){String tabNoten[][]={{"Deutsch","Politik","Englisch","Mathematik","Naturwissenschaft","Religion","Sport","Schwerpunkt","Wahlpflicht"},{}};for(int i =0; i < tabNoten.length -1; i++){System.out.println(tabNoten[i].length);}}}Ausgabe:9
[EDIT]Du hast falsch initialisiert[/EDIT]
Java:
publicclassTest{publicstaticvoidmain(String[] args){String tabNoten[][]={{"1","2","3"},{"4","5","6"}};// <---- {{i},{j}};//alles ausgeben:for(int i =0; i < tabNoten.length; i++){for(int j =0; j < tabNoten[i].length; j++){System.out.print(tabNoten[i][j]);}}}}Ausgabe:123456
Ok ich danke Dir.
Ich hab nicht gewusst das ich die Zeile angeben muss, aus der er die Länge der Spalte ziehen soll.
Hab meine Schleifensteuerung nun modifiziert und bekomme das entsprechende gewünschte Ergebnis:
Java:
for(int i =0; i < tabNoten[0].length; i++)
[EDIT]Hier nun der funktionierende Code wie ich mir das vorgestellt habe:[/EDIT]
Java:
package arrays;importjava.util.Random;publicclassNumerusClausus{publicstaticvoidmain(String[] args){Random r =newRandom();String tabNoten[][]={{"Deutsch","Politik","Englisch","Mathematik","Naturwissenschaft"},{"null","null","null","null","null"}};System.out.println(tabNoten[0].length);for(int i =0; i < tabNoten[0].length; i++){
tabNoten[1][i]=String.valueOf(r.nextInt(6)+1);}for(int i =0; i <tabNoten[0].length; i++){System.out.println(tabNoten[1][i]);}}}
Welche Frage ich mir halt noch Stelle ist: Kann ich das Vorfüllen mit "null" auch irgendwie umgehen?
Wenn ich die 2. (Index 1) Zeile vom Array nicht befülle, bekomme ich ja eine out of bounds exception.
Im Endeffekt soll ich 9 Schulfächer mit random Noten befüllen, eine Durchschnittsnote errechnen die 2 Fächer nicht mit berücksichtigt.
Ist einfach ne Übungsaufgabe gewesen und ich konnte mir einfach nicht erklären wie ich mir den index der ersten Zeile anzeigen lassen kann (Ergebnis 9).
Hast mir wirklich sehr geholfen.
Danke.