在 Java 中,当我们尝试打印硬编码字符串,例如“abc abc”,我们观察到第一个 abc 之后的行发生变化,但是当我们通过 sc.next() 或 sc.nextLine() 获取相同的输入时,它会打印出 ' ' 作为字符串本身的一部分,没有任何行更改。
import java.util.*;
public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s1 = "abc\nabc";
String s2 = sc.nextLine();
System.out.println(s1);
System.out.println(s2);
}
}
输入:
abc ABC
输出:
abc ABC ABC ABC
输入的String打印回来时不应该也换行吗?
nexLine 方法正在寻找行分隔符。
如果运行:System.getProperty("line.separator") 它将返回特定于您的操作系统的行分隔符。在 Windows 上它将返回 在 Unix 上它会返回 .