Array mit Werten belegen

Lestas89

Bekanntes Mitglied
Ich habe eine Frage zum folgenden Programm:

Java:
class Programm{

  public static void main (String args[]){
  int a[][];
  a = new int[5][4];
  int zaehler = 1;

  for (int i = 0; i < a.length ; i++)
     for (int j = 0; j < a[i].length;j++){
       a[i][j] = zaehler;
       zaehler++;
       }
    
  
     for (int i = 0; i < a.length; i++){
  for (int j = 0; j < a[i].length;j++){
       System.out.print(a[i][j]+"\t");
  }
  System.out.println();

     }
     }
}

Kann mir einer erklären wieso die mittlere verschachtelte for-Schleife das Array mit Werten von 1 bis 20 belegt?

Meine Idee: Es handelt sich um eine 5x4 Matrix. Also mit 5 Zeilen, 4 Spalten gleich 20 Feldern.
zaehler wird dann so lange erhöht, bis alle Felder voll besetzt sind. Ist das richtig?

Ich hätte außerdem noch eine Frage zu der Verschachtelung, die ich bisher einfach so hingenommen habe: for (int j = 0; j < a.length;j++
was genau sagt mir a.length aus?
 
Zuletzt bearbeitet von einem Moderator:

strußi

Top Contributor
Es ist eine gemeinschaftsproduktion der äußeren und der inneren for-schleife
Da du zwei koordinaten für den zugriff auf ein feld in einer matrix brauchst liefert die die äußere einen und die innere den anderen.
Mit a[ i][ j] greifst du auf die zelle zu und mit =zaehler; weisst du der zelle einen/den wert zu.

Die anderen for-schleifen brauchst du nicht, da alles in der inneren for-schleife abgearbeitet werden kann.

ich schreib das immer gerne so, vlt wird es so klarer.
Java:
for( int row =0; row <a.length; ...){
  for( int col =0; col <a[ row].length; ...){
    a[ row][ col] =zaehler;
    zaehler++;
    System.out.print(a[j]+"\t");
  }
  System.out.println("");
}
 
Zuletzt bearbeitet:

Lestas89

Bekanntes Mitglied
Hallo Strußi, danke für deine Antwort.
Ich versteh aber immer noch nicht was sich genau hinter a.length in der Verschachtelung versteckt.
Ich versuch es zu verstehen aber irgendwie tu ich mich schwer damit.
 

strußi

Top Contributor
aha,
das ist ganz einfach
Java:
a.length =anzahl der felder des array a //eindimensional
int[] a =new int[ 8];
a.length =8;

a[ row] .length = anzahl der felder in einem geschachtelten array //zweite dimension
int[][]a =new int[ 5][ 4];
a.length =5;
a[ row] =4;

Es gibt auch arrays die nicht immer gleich viele spalten haben, da ist es sinnvoll mit .length zu arbeiten, sonst kommt indexOutOfBounceException ;-) überschreitung der grenzen
 
Zuletzt bearbeitet von einem Moderator:

Lestas89

Bekanntes Mitglied
Danke für deine Antwort. Aber mein Verständnisproblem will leider nicht verschwinden.
Code:
for (int i = 0; i < a.length ; i++)
     for (int j = 0; j < a[i].length;j++)

Angenommen ich habe jetzt eine 5 X 7 Matrix. Wie kann ich mir dann die Verschachtelung erklären? Dann würde ja da stehen j < 5. Wie kann dann eine 5 X 7 Matrix zustande kommen? Da liegt mein Verständnisproblem. Ich versteh die forschleife nicht, bzw das a.length nicht.
 
Zuletzt bearbeitet:

strußi

Top Contributor
die erste(äußere) for-schleife ist NUR für den zeilenindex verantwortlich
die zweite(innere) for-schleife ist NUR für den spaltenindex verantwortlich

du fragst nicht zweimal a.length ab sondern
a.length in der äußeren schleife
a[ i].length in der inneren = gib mir die spaltenzahl der i-ten zeile

die erste for-schleife läuft über die reihen und fängt bei 0 an
also ist i für den ersten durchlauf immer 0
dann kommt die zweite schleife fängt auch bei 0 an und erhöht sich solange bist es bei a[ i].length-1 ist
also werte von 0-6
somit hast du den zugriff auf die erste zeile und alle ihre spalten
dann wird die erste forschleife erhöht i =1;
zweite for-schleife 0 -6
zweite reihe mit allen spalten
das spiel geht so weiter bis du bei a.length-1 angelangt bis.

vielleicht hilft dir das weiter
du kannst dir das ganze auch als sortierkasten vorstellen
41ugsyVkoOL._SY300_.jpg

du hättest einen int[][] matrix mit unterscheidlich langen felder
mit matrix.length kannst du diezeilenzahl (3) erfragen
und mit matrix[ zeile] frägst du die einzelen zeilenlängen ab ( 6; 3; 2 oder 3 oder 4)

die äußere schleife gibt die den zeilenindex
die innere den spaltenindex
 

Lestas89

Bekanntes Mitglied
Klasse. Danke dir für deine Mühe. Das räumt erstmal mein Problem aus dem Weg. Sollten noch weitere Fragen sein, melde ich mich :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
Csircc Neuer Array mit geringerer Länge und selben werten. Java Basics - Anfänger-Themen 2
D Input/Output fehlerhafter Algorithmus zum Ersetzen von Array-Werten nach logischem Schema Java Basics - Anfänger-Themen 1
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
E OOP Array anlegen mit unterschiedlichen Werten Java Basics - Anfänger-Themen 8
M Speichern von Werten in Array Java Basics - Anfänger-Themen 1
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
F Array mit Scanner-Werten Java Basics - Anfänger-Themen 4
V Methoden Matrix als 1D Array mit Werten füllen Java Basics - Anfänger-Themen 12
V Anzahl von gleichen Werten in einem Int-Array ermitteln Java Basics - Anfänger-Themen 4
L Array - Nach 2 gleichen Werten stoppen Java Basics - Anfänger-Themen 5
P Objekt mit Werten aus Array füllen Java Basics - Anfänger-Themen 10
B Zweidimensionales Array mit boolean Werten Java Basics - Anfänger-Themen 3
J double-Array mit Werten von Methode füllen und an andere Methode übergeben Java Basics - Anfänger-Themen 3
L Array - Eingabe von Werten Java Basics - Anfänger-Themen 2
S mit Werten aus 2D-Array rechnen Java Basics - Anfänger-Themen 32
C Array mit int Werten füllen ( von z.B. 1 - x ) Java Basics - Anfänger-Themen 13
E Array Werten Icons zuweisen Java Basics - Anfänger-Themen 3
Bierhumpen Array gefüllt mit verschiedenen Werten Java Basics - Anfänger-Themen 7
T 2D Array nach gleichen Werten durchsuchen Java Basics - Anfänger-Themen 6
M Array mit Werten füllen und sortieren Java Basics - Anfänger-Themen 2
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
L Frage zum Array Java Basics - Anfänger-Themen 1
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
julian0507 Array aus Methode in anderer Methode sichtbar machen Java Basics - Anfänger-Themen 10
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
Lion.King Array deklarieren und initialisieren Java Basics - Anfänger-Themen 5
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
M Methoden Zweidimensionaler Array mit Setter Methode ändern Java Basics - Anfänger-Themen 4
AkiJou Zeile in 2d Array löschen Java Basics - Anfänger-Themen 2
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6
A Elemente in einem Array Java Basics - Anfänger-Themen 5
A Vorkommende Farben ermittel und als Array zurückgeben Java Basics - Anfänger-Themen 7
AhmadSlack Array Java Basics - Anfänger-Themen 7
Jambolo Kartenhand Array Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben