2010-10-24 24 views
33

Mam następujący kod:druku w nowej linii, Java

System.out.println(" | 1 2 3 4 5 6 7 8 9"); 
    System.out.println("----------------------------"); 
    System.out.println(""); 

używam println, aby utworzyć nowy wiersz. Czy można zrobić to samo za pomocą \ n lub \ r? Próbowałem dodać \ n do drugiej instrukcji println i kontynuować drukowanie za pomocą metody drukowania, ale \ n nie tworzy nowego wiersza.

jakieś pomysły?

+9

Wywołanie 'System.out.println();' wielokrotnie: P – BoltClock

+1

Zastanawiam się, dlaczego masz problemy z napisaniem 'System.out.println (" \ n) ";' "\ n" uważa za sekwencję escape dla C/C++/C# i Java aswell. – Reborn

Odpowiedz

61
String newLine = System.getProperty("line.separator");//This will retrieve line separator dependent on OS. 

    System.out.println("line 1" + newLine + "line2"); 
+17

Od wersji 7 Java 'System.lineSeparator()' http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#lineSeparator%28%29 –

+1

to 'System.out .println(); "patrzył w dół? Czy to nie robi tego samego? To jest mój drugi dzień w Javie, przyszedł znaleźć najlepsze praktyki. – Dan

+0

z tym wyjątkiem, że dodaje separator linii na końcu –

8

Tworzy nową linię. Wypróbuj:

System.out.println("---\n###"); 
+0

W przeszłości Apple Mac wymagało oddzielenia linii przez "\ r", więc lepiej napisać kod niezależny od systemu, sprawdź moje rozwiązanie. –

+0

Mówi o "nowej linii".Gdyby poprosił o "nową linię + powrót karetki", wskazałbym mu \ r \ n :) Jeśli chcemy być wybredni, sugerowałbym raczej użycie StringBuilder zamiast łączenia łańcuchów. – biasedbit

+2

Dla '" linia 1 "+ nowa linia +" linia2 "' użycie StringBuilder jawnie byłoby nieproduktywne. Kompilator może zoptymalizować to samodzielnie. – Thilo

6

Możesz spróbować dodać \ r \ n zamiast po prostu \ n. W zależności od systemu operacyjnego i sposobu wyświetlania danych wyjściowych może to mieć znaczenie.

8

Twój najlepszy strzał byłby z

String.format("%n") 

lub

System.out.printf("%n"); 

Przypuszcza się, aby wydrukować znak nowej linii, w zależności od aktualnej platformy, więc jest idealny do konsoli.

Jeśli drukujesz do pliku, to zależy.

4

\n tworzy nową linię w Javie. Nie używaj spacji przed lub po \n.

Przykład: drukowanie It creates\na new line wyjścia

Stwarza to
nowego.

+1

gdzie jest napisane, że użycie \ n w Javie użyje poprawnego znaku nowej linii, na przykład \ r \ n w systemie Windows? – simpleuser

1

Ponieważ jesteś w systemie Windows, zamiast \ n użyj \ r \ n (powrót karetki + wysuw wiersza).

6

Należy użyć wbudowanego separatora linii. Zaletą jest to, że nie musisz się martwić o to, jaki system jest uruchamiany, po prostu zadziała.

Ponieważ Java 1,7

System.lineSeparator() 

Pre Java 1,7

System.getProperty("line.separator") 
-1

"\ n" jest to prosta metoda, aby oddzielić nieprzerwany ciąg

+0

Nie trzeba wpisywać "** !!!! **". – t3chb0t

11
System.out.println("hello"+"\n"+"world"); 
-1
//Case1: 
System.out.println(" 1 2 3 4 5 6 7 8 9" + "\n" + "----------------------------"); 

//Case2: 
System.out.printf(" 1 2 3 4 5 6 7 8 9" + "\n" + "----------------------------"); 

//Case3: 
System.out.print(" 1 2 3 4 5 6 7 8 9" + "\n" + "----------------------------"); 
0
System.out.print(values[i] + " "); 
//in one number be printed 
+0

numer zostanie wydrukowany w jednym wierszu, takim jak 1 2 3 4 5 dla nowej linii możemy użyć \ n –