Java nacheinander in Zeilen schreiben?
Hi, wenn ich etwas so ausgegeben haben möchte:
1 2 3 4 5 6 7
2 4 6 8 10 12
etc.
Halt nach einer Schleife bspw. gebe ich die erste Zeile mit
System.out.print(" " + zahlen1) aus.
Wie kriege ich es nun hin, das bei der zweiten Schleife, nach
System.out.print(" " + zahlen2) diese in die zweite Zeile der Reihe nach steht, sowie oben aufgeführt?
Ich kenne "\t" als Tabulator und "\n" als Zeilenumbruch, wie muss ich diese aber in meiner System.out.print(" " + .??. + zahlen2) einfügen?
VG.
5 Antworten
Einfach mit dem erwähnten "\n"
System.out.print(zahlen1 + "\n" + zahlen2 +"\n" + ...)
oder in deiner Schleife jeweils System.out.println aufrufen. Ich weiß allerdings nicht genau, was du gemacht hast..
for (...) {
System.out.println("Zeile" +variable);
}
Es handelt sich hier nur um ein kleines Testprogramm, das nur auf seinem System ausgeführt wird, von daher wohl nicht so wichtig. Wenn er aus irgendeinem Grund das ganze gleichzeitig auf Unix und Windows Geräten testet, kann er ja
System.lineSeparator()
verwenden
Ich füge mal mein Code ein, vielleicht liegt da der Fehler:
for (int i = 1; i <= 10; i++) {
System.out.print(" " + i);
}
for (int b = 2; b <= 20; b += 2) {
System.out.print(b);
Die erste Zeile wird wie gewollt ausgegeben, die Zweite so:
2
4
6
..
möchte sie aber gerne so: 2 4 6 ..
Also eigentlich sollte dein Code genauso funktionieren, wie du das möchtest.
for (int i = 1; i <= 10; i++) {
System.out.print(" " + i);
}
for (int b = 2; b <= 20; b += 2) {
System.out.print(" " +b);
}
Liefert 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20
Am einfachsten ist es, nicht direkt eine Ausgabe zu machen, sondern das, was ausgegeben werden soll, in einen String hinzuzufügen - also eine String-Variable pro Zeile.
Beispielsweise (aber eigentlich kein guter Code...)
String zeile1String = "";
String zeile2String = "";
for (...)
{
zeile1String = zeile1String + irgendwas;
zeile2String = zeile2String + irgendwasAnderes;
}
System.out.println(zeile1String);
System.out.println(zeile2String);
Ich füge mal mein Code ein, vielleicht liegt da der Fehler:
for (int i = 1; i <= 10; i++) {
System.out.print(" " + i);
}
for (int b = 2; b <= 20; b += 2) {
System.out.print(b);
Die erste Zeile wird wie gewollt ausgegeben, die Zweite so:
2
4
6
..
möchte sie aber gerne so: 2 4 6 ..
Dass der Code das untere ausgibt geht eigentlich gar nicht. Sicher, dass Du nicht in der zweiten Schleife "println" stehen hast? Ansonsten kann man ja in beiden print-Statements einen klaren Unterschied erkennen... Wenn das obere also geht und das untere nicht, was könnte man dann probieren?
Verwende println.
System.out.println("...");
An jede Ausgabe wird automatisch eine neue Zeile angehängt.
Ich füge mal mein Code ein, vielleicht liegt da der Fehler:
for (int i = 1; i <= 10; i++) {
System.out.print(" " + i);
}
for (int b = 2; b <= 20; b += 2) {
System.out.print(b);
Die erste Zeile wird wie gewollt ausgegeben, die Zweite so:
2
4
6
..
möchte sie aber gerne so: 2 4 6 ..
Du musst zwischen den beiden Schleifen ein "System.out.println();" machen für den Zeilenwechsel und dann in jeder Schleife "System.out.print" verwenden. Außerdem unterscheiden sich ja beide print-Statements - wenn also das untere nicht geht, was könnte man dann mal versuchen?
Hey,
was Du brauchst mein Freund, sind mehr Schleifen.
Eine Schleife um n-Zeilen auszugeben und eine Schleife um die Zahlen in einer Zeile auszugeben, zum Beispiel:
public static void main(String[] args) {
for (int line = 1; line < 7; line++) {
int number = line;
for (int aNumber = 0; aNumber < 7; aNumber++) {
System.out.print(number + " ");
number+=line;
}
System.out.println();
}
}
Ausgabe:
1 2 3 4 5 6 7
2 4 6 8 10 12 14
3 6 9 12 15 18 21
4 8 12 16 20 24 28
5 10 15 20 25 30 35
6 12 18 24 30 36 42
Gruß
Damit man das besser lesen kann für ich die Ausgabe der Zeile aber in eine Methode auslagern, also eher so:
public static void main(String[] args) {
for (int lineNumber = 1; lineNumber < 7; lineNumber++) {
printLine(lineNumber);
}
}
public static void printLine(int lineNumber){
int number = lineNumber;
for (int aNumber = 0; aNumber < 7; aNumber++) {
System.out.print(number + " ");
number+=lineNumber;
}
System.out.println();
}
Gruß
for (int i = 1; i <= 10; i++) {
System.out.print(" " + i);
}
println(); // beendet die laufende Zeile mit \n
for (int b = 2; b <= 20; b += 2) {
System.out.print(" " +b);
}
Und genau durch sowas wird aus eigentlich plattformunabhägigem Code plattformabhängiger Code 😉