Elemente eines Arrays bei Ausgabe auslassen

segdone

Neues Mitglied
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)

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?
 
Naja.... Konsolenausgaben funktionieren immer noch Zeilenweise von links nach rechts. Wenn du jetzt also für die mittleren Zeilen nur zwei Einsen ausgibst, landen die natürlich gemäß der eingestellten Leserichtung ganz links. Du musst halt für solche Zeilen auch Leerzeichen auf derselben Zeile ausgeben.
 
Naja.... Konsolenausgaben funktionieren immer noch Zeilenweise von links nach rechts. Wenn du jetzt also für die mittleren Zeilen nur zwei Einsen ausgibst, landen die natürlich gemäß der eingestellten Leserichtung ganz links. Du musst halt für solche Zeilen auch Leerzeichen auf derselben Zeile ausgeben.
Alles klar, danke dir 😀
Hatte das überhaupt nicht bedacht.
 

Zurück
Oben