2016-03-21 120 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