为什么打印新行不起作用?

时间:2013-04-16 13:13:38

标签: java

我开始学习Java,我从一本书中构建了这段代码。这是Java中的代码:

public class MyFirstApp {
    public static void main (String[] args) {
        int x = 1;
        while (x<3){
            System.out.print("Doo"+x);
            System.out.print("Bee");
            x=x+1;
        }
        if (x==3){
            System.out.println("Do"+x);
        }
    }
}

为什么输出是:

Doo1BeeDoo2BeeDo3

而不是

Doo1BeeDoo2Bee
Do3

5 个答案:

答案 0 :(得分:5)

只有上次来电是println ...而println会在结束处添加换行符。如果您想要之前的新行,那么您需要的是最终的Do3

if (x==3){
    System.out.println();
    System.out.println("Do"+x);
}

(目前还不清楚为什么支票会在那里。x一定是3。)

答案 1 :(得分:3)

Do3后打印换行符。 println在消息之后添加换行符,而不是之前。

请参阅println()的文档:

  

打印字符串然后终止该行。此方法表现为   虽然它调用print(String)然后调用println()。

如果需要,请尝试

System.out.println();
System.out.println("Do"+x);

System.out.println("\nDo"+x);

在你的最后一个如果把它印在自己的线上。

答案 2 :(得分:2)

因为{/ 1>}在打印其参数后移动到新行,因为在这种情况下,该参数位于输出的最后。

答案 3 :(得分:1)

你在Do3之后打印换行符。

试试这个

    System.out.println();
    System.out.println("Do"+x);

答案 4 :(得分:1)

因为System.out.print()会在没有换行的情况下打印到System.outSystem.out.println()在打印字符串后转移到新行,而不是在它之前。