2014-05-25 12 views
-1

這應該是最終的輸出,但我的代碼沿着一條直線。爲什麼我的嵌套循環輸出不會移動到一個新行

(^_^) 
    (^_^) (^_^) 
    (^_^) (^_^) (^_^) 
    (^_^) (^_^) (^_^) (^_^) 
    (^_^) (^_^) (^_^) (^_^) (^_^) 

代碼:

public class PP2A { 

    public static final int MAX = 5; 

     public static void main(String[] args) { 
     loop(); 

    } 

    public static void loop() { 
     int count,number; 

    for(count=1; count<=MAX; count++) { 
    for(number=1; number<= count; number++) { 
    System.out.println(" (^_^) "); 
    } 
    System.out.println(); 
     } 

     } 
    } 

回答

1

變化
System.out.println(" (^_^) ");

System.out.print(" (^_^) ");

+0

Omggg你夥計搖滾!這樣愚蠢的錯誤smh。太感謝了!!!!!!! – user3196648

+0

沒有問題,我犯了同樣的錯誤。 ;) – Outsider

1

根據Java Docs

void java.io.PrintStream.println():通過寫入行分隔符字符串來終止當前行。行分隔符字符串由系統屬性line.separator定義,不一定是單個換行符('\n')。

換句話說,

System.out.println(s); 

打印s後打印換行符

你能做什麼?您可以使用:

System.out.print(s); 

改爲。

+0

謝謝omg我真的沒有注意到我做錯了什麼lol – user3196648

0

變化

System.out.println(" (^_^) "); 

System.out.print(" (^_^) " + ((number == count) ? "\n" : "")); 

,並刪除

System.out.println(); 

完整的解決方案:

public static void loop() { 
    int count, number; 

    for (count = 1; count <= MAX; count++) { 
     for (number = 1; number <= count; number++) { 
      System.out.print(" (^_^) " + ((number == count) ? "\n" : "")); 
     } 
    } 

} 
+0

謝謝你也!! – user3196648

相關問題