Servus an alle ,
und zwar bin ich gerade dabei Java von Grund auf zu erlernen und bin derzeit am verzweifeln ^^
Ich wollte nur zur Übung mal ein zweidimensionales Array ausgeben lassen, welches mehrere Einsen quasi als Rechteck ausgeben soll, wobei nur der Rand sichtbar sein soll. (Ich hoffe das ist verständlich genug formuliert)
Folgendes wird mir aber auf der Konsole ausgegeben:
1111111111
11
11
11
11
11
11
11
11
1111111111
Wieso ist der rechte Rand so weit nach links eingerückt? Die Bedingung lautete doch, dass nur geprintet werden soll, wenn j == 9 oder eben 0 ist. In der Ausgabe sieht es aber so aus als würde er den Index j u.a. als 1 interpretieren und dann printen, warum ist das so?
und zwar bin ich gerade dabei Java von Grund auf zu erlernen und bin derzeit am verzweifeln ^^
Ich wollte nur zur Übung mal ein zweidimensionales Array ausgeben lassen, welches mehrere Einsen quasi als Rechteck ausgeben soll, wobei nur der Rand sichtbar sein soll. (Ich hoffe das ist verständlich genug formuliert)
Code:
int [][] test = new int [10][10];
for(int i = 0; i < test.length; i++) {
for(int j = 0; j < test[i].length; j++) {
test[i][j] = 1;
if(i == 0 || i == 9) {
System.out.print(test[i][j]);
}
else if(j == 0 || j == 9) {
System.out.print(test[i][j]);
}
}
System.out.println();
}
Folgendes wird mir aber auf der Konsole ausgegeben:
1111111111
11
11
11
11
11
11
11
11
1111111111
Wieso ist der rechte Rand so weit nach links eingerückt? Die Bedingung lautete doch, dass nur geprintet werden soll, wenn j == 9 oder eben 0 ist. In der Ausgabe sieht es aber so aus als würde er den Index j u.a. als 1 interpretieren und dann printen, warum ist das so?