2016-03-21 118 views
1

我有两个解决方案,它们之间有什么区别?以下代码段有什么区别?

解决方案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:

​​

两者都打印不同的结果。任何人都可以解释为什么吗?

回答

6

那么,第一个片段在内部循环中使用System.out.println,所以每个字符串都打印在一个单独的行中。第二个片段在内部循环中使用System.out.print,并且仅在内部循环结束后才移至下一行。

此外,第一个片段在完成内部循环后跳过两行,第二个片断仅结束当前行(System.out.println("\n");System.out.print("\n");)。

在第一个片段中将每个println更改为print应该产生与第二个片段相同的输出。

+0

谢谢。我想到了这一点:D但是,感谢努力用这种整洁的方式写下来:) – Akira