2010-10-24 67 views
33

我有以下代码:打印在新的生产线,JAVA

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

我用的println创建一个新的行。是否可以使用\ n或\ r来做同样的事情? 我试图将\ n添加到第二个println语句并继续使用打印方法进行打印,但是\ n不创建新行。

有什么想法?

+9

重复调用'System.out.println();'P – BoltClock 2010-10-24 12:40:59

+1

我想知道为什么你有问题只是写'System.out.println(“\ n)”;' “\ n”认为是转义序列C/C++/C#和Java。 – Reborn 2016-10-16 11:56:29

回答

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

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

从Java 7开始,你有'System.lineSeparator()'http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#lineSeparator%28%29 – 2013-11-22 20:08:21

+1

是'System.out .println();'看不起?这不是做同样的事情吗? 这是我在Java的第二天,来找到最佳实践。 – Dan 2014-08-14 00:03:59

+0

它确实除了它在最后增加了行分隔符 – 2014-08-14 00:07:40

8

它确实创建了一个新行。请尝试:

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

过去,苹果Mac要求用'\ r'来分隔,所以最好是编写独立于系统的代码,查看我的解决方案 – 2010-10-24 12:46:08

+0

他正在谈论“新行”。如果他要求“换行+回车”,我已经指出他\ r \ n :)如果我们要挑剔,那么我建议使用StringBuilder而不是连接字符串。 – biasedbit 2010-10-24 12:54:57

+2

对于''第1行'“+ newLine +”line2“'显式使用StringBuilder将会适得其反。编译器可以自己优化它。 – Thilo 2010-10-24 12:58:08

6

您可以尝试添加\ r \ n而不是\ n。根据您的操作系统以及您如何查看输出,这可能很重要。

8

你最好的拍摄将与

String.format("%n") 

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

它应该打印一个换行符,根据目前的平台上,因此它非常适合在控制台。

如果您正在打印到一个文件,那么它取决于。

4

\n在Java中创建一个新行。请勿在\n之前或之后使用空格。

实施例:印花It creates\na new line输出

它创建
一个新行。

+1

它说在java中使用\ n将使用正确的换行符,例如Windows上的\ r \ n? – simpleuser 2016-11-11 23:31:29

1

由于您在Windows上,而不是\ n使用\ r \ n(回车+换行)。

6

您应该使用内置的行分隔符。好处是你不必关心你的代码在运行什么系统,它只会工作。

由于Java 1.7

System.lineSeparator() 

预爪哇1.7

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

“\ n” 个 这是分离的连续字符串简单的方法

+0

没有必要写“** !!!! **”。 – t3chb0t 2014-12-12 06:59:26

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

号码将打印在一行中,如1 2 3 4 5用于我们可以使用的新行\ n – 2017-03-06 13:11:14