我开始学习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
答案 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.out
。 System.out.println()
在打印字符串后转移到新行,而不是在它之前。