Ausgabe verändern

Status
Nicht offen für weitere Antworten.

bRainLaG

Aktives Mitglied
Vorweg ich habe das Array theatre welches ich mit boolean und falls werten besetzt habe, wie ist es mir nun möglich für jedes false ein - und für jedes true ein x ausgeben zu lassen.
Die normale Ausgabe ist hierbei halt recht doof

Java:
boolean theatre[][] = { 
				{false,false,false,false,false,false,false,false},
				{false, true,true,true,false,false,true,true},
				{false,false,false,false,false,false,false,false},
				{false,true,true,true,true,true,true,true},
				{false,false,false,false,false,false,false,false}
				};
 
Java:
for (boolean[] subArray : theatre) {
    for (boolean b : subArray) {
        System.out.print(b ? 'x' : '-');
    }
    System.out.println();
}
 
Java:
for (boolean[] bs : theatre) {
			for (boolean b : bs) {
				if (b)
					System.out.print("x ");
				else
					System.out.print("- ");
			}
			System.out.println();
		}
/edit: gr zu spät, ich wette es lag am ternären operator 😀
 
wäre es unverschämt um dokumentation zu bitten eRaaa, weil funktionieren tut es micht interessiert nun aber was dabei passiert.
 
Es wird für jedes Feld von theatre die innere Schleife aufgerufen. Das aktuelle Element (boolean[]) ist in bs verfügbar. Das gleiche wird für boolean[] bs gemacht, da ist jeweils der aktuelle b gespeichert. wenn b (== true), dann wird "x " ausgegeben, ansonsten "- ". Nach jedem bs wird noch eine neue Zeile geschrieben.
 
man hätte genauso gut auch eine normale for-schleife nutzen können:
Java:
		for (int i = 0; i < theatre.length; i++) {
			for (int j = 0; j < theatre[i].length; j++) {
				System.out.print(theatre[i][j] ? "x " : "- ");
			}
			System.out.println();
		}

falls man die indizes braucht, oder man nicht alle werte durchlaufen möchte, muss man diese sogar anstatt der foreach nutzen.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben