Java,system.out.print中的行尾如何处理?

4

我进行了一些关于System.out.print()System.out.println()的研究,发现System.out.println()会在打印行末尾添加换行符。

System.out.println("Test");

仅输出:

Test

但不会输出行末符号。
System.out.print("Test");

仅输出:

Test

但是不要结束这一行,为其他单词、数字等留出一些空间,等等。
更形象的方式是:
Test_____________________________________________ (All "blank" spots)

有没有一种方法可以在单词“Test”后直接使用System.out.print()强制换行?使用%会删除“空白”吗?
或者有没有一种编写函数的方法,在我使用多个System.out.print()打印句子后结束该行?
例如:
System.out.print("Test);
System.out.print("Test);

将输出一个纯净的前置:
Test Test

System.out.println("测试 测试") 这样的代码。


http://en.wikipedia.org/wiki/Newline - SLaks
1
你的意思是像\n这样吗? - Peter Lawrey
在Windows下输出“Word\n”:System.out.print("Word\n"); - Fallup
6
做得很好,取消所有格式化 :) - xlecoustillier
6个回答

14
您可以添加换行符,注意这取决于平台,因此:

  • Windows("\r\n")
  • Unix / Linux / OSX("\n")
  • 早期的OSX Mac("\r")

如果您想根据实际系统获取换行符,只需使用:

  • System.getProperty("line.separator"); 适用于Java 7之前的版本
  • System.lineSeparator(); 适用于Java 7及以上版本

然后您只需将分隔符附加到System.out.print中的字符串中,例如:

  • System.out.print("Word\n");

1
"\n" 不是我在测试中想要的,真正想要的是 "line.separator"。 - metraon

4

System.out.println("Test");会打印出一行内容。当你在IDE中看不到它时,这并不意味着它不存在。可以尝试:

System.out.println("Test1");
System.out.println("Test2");
System.out.println("Test3");

这将产生:

Test1
Test2
Test3

println(String) 的文档中可以看到:
打印字符串并结束该行。此方法的行为类似于调用 print(String) 然后调用 println()
println() 的文档中可以看到:
通过写入行分隔符字符串来终止当前行。行分隔符字符串由系统属性 line.separator 定义,并且不一定是单个换行符 ('\n')。

4
你可以使用 System.out.print("Test\n") 进行打印。

3
为了获得一个与操作系统无关的EOL字符,您可以尝试使用以下方法:
System.getProperty("line.separator");

然后将其附加到您的字符串中?

但既然有一个可以为您执行此操作的函数,为什么要手动执行呢?


2
他可以在Java 7中使用 System.lineSeparator(); - Fallup

0

您可以通过以下方式强制手动换行:

System.out.print("Test\n");

当你需要打印并结束一行时,也可以混合使用两者,像这样:

System.out.print("This is on ");
System.out.print("the same line.");
System.out.println(" and now we'll end the line");
System.out.println("This is on a different line.");

0

你可以在打印的内容中显式地包含一个换行符:

System.out.print("Test\n");

使用print函数时,这将强制换行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接