我有两个解决方案,它们之间有什么区别?
解决方案1:
public static void main(String[] args) {
int i, j;
for (i = 0; i < 5; i++) {
for (j = 0; j <= i; j++) {
System.out.println(" * ");
}
System.out.println("\n");
}
}
解决方案2:
public static void main(String args[]) {
int num = 0;
while (num < 5) {
for (int i = 0; i <= num; i++) {
System.out.print(" " + "*" + " ");
}
System.out.print("\n");
num++;
}
}
两者都打印出不同的结果。任何人都可以解释一下原因吗?
答案 0 :(得分:6)
好吧,第一个片段在内部循环中使用System.out.println
,因此每个字符串都打印在一个单独的行中。第二个片段在内部循环中使用System.out.print
,并且仅在内部循环结束后移动到下一行。
此外,第一个代码段在完成内部循环后跳过两行,第二个代码段仅结束当前行(System.out.println("\n");
与System.out.print("\n");
)。
将第一个代码段中的每个println
更改为print
应该会产生与第二个代码段相同的输出。