0

我开始学习 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
4

5 回答 5

5

只有最后一个调用是 to println... 并在打印内容的末尾println添加一个换行符。如果你想要在决赛之前换行,你会想要这样的东西:Do3

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

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

于 2013-04-16T13:15:16.780 回答
3

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

请参阅println()的文档:

打印一个字符串,然后终止该行。这个方法的行为就像它调用 print(String) 然后 println()。

如果你想试试

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

或者

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

在你的最后一个如果让它打印在自己的行上。

于 2013-04-16T13:15:16.247 回答
2

因为在打印其参数println()移动到新行,在这种情况下,它位于输出的最后。

于 2013-04-16T13:15:57.277 回答
1

因为System.out.print()将打印到System.out没有新行。System.out.println()在打印字符串后而不是在它之前转移到新行。

于 2013-04-16T13:16:27.557 回答
1

你在 Do3 之后打印换行符。

尝试这个

    System.out.println();
    System.out.println("Do"+x);
于 2013-04-16T13:15:46.483 回答