2016-02-13 99 views
1
System.out.print("I have a question, can you assist me?"); 
System.out.println(); 
System.out.println("How can I make a gap between these two statements?"); 

我试图用println(),认为它会创建一个空行,但它没有。如何在Java中的一行之间创建空格?

+3

'的System.out.println( “”);'或'是System.out.print( “我有一个问题,你能帮助我\ n”);' – MadProgrammer

回答

2

尝试:

public class Main { 

    public static void main(String args[]) { 
     System.out.println("I have a question, can you assist me?\n"); 
     System.out.println("How can I make a gap between these two statements?"); 
    } 
} 

附: \n是新行分隔符,至少在Windows机器上工作正常。为了实现真正的跨平台的分离器,使用以下方法之一:

System.out.print("Hello" + System.lineSeparator()); // (for Java 1.7 and 1.8) 
System.out.print("Hello" + System.getProperty("line.separator")); // (Java 1.6 and below) 
+0

查看我在@ RONEX的评论回答。它只能在Windows中运行,如果输出到“屏幕”。如果你重定向到一个文件,很多Windows应用程序将无法应对它。 –

+0

我已经更新了答案,使它对跨平台友好 – userlond

0

用途: 的System.out.println( “\ n”);

\ n带您到新线路。

+0

坏主意。这在Windows上无法正常工作......行尾序列为“\ r \ n”'。提示:尝试将输出重定向到一个文件,然后用记事本打开它。 –

1

这是发生了什么事。

System.out.print("I have a question, can you assist me?"); 

您现在已经在同一行上打印了一串字符。由于您使用了print并且没有明确地打印换行符,因此打印的下一个字符也会出现在同一行上。

System.out.println(); 

此打印换行符'\n'),这是不一样打印一个空行。相反,它会导致下一个字符被打印到当前行之后的行上。

System.out.println("How can I make a gap between these two statements?"); 

由于您刚刚打印了一个换行符,因此该文本将直接显示在您的“我有问题”行之后的行上。另外,既然你叫println,如果你在此之后打印任何东西,它将会进入一个新行,而不是同一行。

为了把两个语句之间的空行,你可以做到这一点(我知道,我知道,不完全是跨平台的,但是这只是一个很简单的例子):

System.out.println("I have a question, can you assist me?"); 
System.out.println(); 
System.out.println("How can I make a gap between these two statements?"); 

既然你现在正在打印两个两行之间的换行符,你会达到你想要的差距。

-1

这个怎么样?

public class Main { 
    public static void main(String args[]) { 
     System.out.println("Something..."); 
     System.out.printf("%n"); // Not "\n" 
     System.out.println("Something else..."); 
    } 
} 

“%n”应该跨平台友好。

1

请注意,为输出的字符串添加一个裸“\ n”可能会使您的代码平台特定。对于控制台输出,这可能是确定的,但如果文件被另一个(平台本地)应用程序读取,那么您可能会遇到奇怪的错误。

这里有一些推荐的方法...应该在所有平台上的工作:

  1. 刚的println坚持使用:

    System.out.println("I have a question, can you assist me?"); 
    System.out.println(); 
    System.out.println("How can I make a gap?"); 
    

    注:println使用平台默认的结束线序。

  2. 使用的String.format:

    String msg = "I have a question, can you assist me?%n%nHow can " + 
           "I make a gap?%n"; 
    System.out.print(String.format(msg)); 
    

    注:%n意味着平台默认的结束线序。

    注意:有在PrintWriter接口做同样的事情作为String.format

  3. 手动插入相应端的行序列到字符串便利printf方法;查看@ userlond的答案的结尾作为示例。

相关问题