Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Mit meinen Code funktioniert das leider nicht. Was muss ich ändern?
[CODE lang="java" title="Array"] int [][] bild = new int[10][10];
int zeile = 0;
int spalte =0;
System.out.println("Befülle das array...");
for (int i = 0; i < bild.length; i++) {
bild= new int [i+1];
for (int j = 0; j < bild.length; j++) {
bild[j] = i+j;
System.out.println macht immer einen Zeilenumbruch. Für das innerste Statement willst du vermutlich System.out.print verwenden - was keinen Zeilenumbruch macht.
a) Du erzeugst am Anfang ein Array der Größe 10x10 - aber dann erzeugst Du ein Teil neu mit bild[i]= new int [i+1];
Damit hast Du kein 10x10 Array mehr sondern ein 2D Array, das pro Zeile immer ein Feld mehr bekommt.
b) Wenn Du die Werte von 0-9 eintragen willst, dann ist die Zuweisung bild[i][j] = i+j; natürlich falsch.
c) Wenn Du keinen Zeilenumbruch nach jeder Zahl haben willst, dann musst du statt println natürlich print nutzen.
a) Du erzeugst am Anfang ein Array der Größe 10x10 - aber dann erzeugst Du ein Teil neu mit bild[i]= new int [i+1];
Damit hast Du kein 10x10 Array mehr sondern ein 2D Array, das pro Zeile immer ein Feld mehr bekommt.
b) Wenn Du die Werte von 0-9 eintragen willst, dann ist die Zuweisung bild[i][j] = i+j; natürlich falsch.
c) Wenn Du keinen Zeilenumbruch nach jeder Zahl haben willst, dann musst du statt println natürlich print nutzen.
Vielen Dank. Also hab den Code angepasst und bekomme jetzt schon ein besseres Ergebnis wie davor. Aber leider nicht, dass was ich sehen will.
Also Ergebnis erhalte ich mehrere Zeilen mit Zahlen aber ganz viele Leerzeilen dazwischen.
Hier das Ergebnis:
Befülle das array...
0 0 0 0 0 0 0 0 0 0
10 11 12 13 14 15 16 17 18 19
120 121 122 123 124 125 126 127 128 129
230 231 232 233 234 235 236 237 238 239
340 341 342 343 344 345 346 347 348 349
450 451 452 453 454 455 456 457 458 459
560 561 562 563 564 565 566 567 568 569
670 671 672 673 674 675 676 677 678 679
780 781 782 783 784 785 786 787 788 789
890 891 892 893 894 895 896 897 898 899
Java:
public class Arraybefüllen {
public static void main(String[] args) {
int [][] bild = new int[10][10];
int counter = 0;
int zeilen;
int spalten;
System.out.println("Befülle das array...");
for (zeilen=0; zeilen < bild.length; zeilen++) {
for (spalten = 0; spalten < bild.length; spalten++) {
System.out.print(bild[zeilen][spalten] + " ");
}
for (int i =0; i<bild.length;i++ ) {
for( int j =0; j<bild.length;j++) {
bild[i][j] = counter;
counter++;
}
System.out.println("");
}
}
}
}
Korrigere mal deine Einrückung. Dann siehst du in welcher Schleife deine Ausgaben stehen. Du gibts den Zeilenumbruch pro Feld nicht pro Zeile aus. Da hast da 3 ineinander verschachtelte Schleifen und gibst Daten aus bevor sie befüllt sind. Das sieht sehr konfus aus.
Korrigere mal deine Einrückung. Dann siehst du in welcher Schleife deine Ausgaben stehen. Du gibts den Zeilenumbruch pro Feld nicht pro Zeile aus. Da hast da 3 ineinander verschachtelte Schleifen und gibst Daten aus bevor sie befüllt sind. Das sieht sehr konfus aus.