2014-10-18 71 views
0

我應該創建一些模式 - 有點三角形 - 使用基於給定編號n的循環。使用循環創建模式Java

例如,如果給定的數n爲3,模式應該是這樣的:

** 
*##* 
*####* 

,下面將我目前正在對現在的代碼。

public static void patterPrinters(int n) { 
    for (int k = 0; k < n; k++) { 
    for (int x = n; x > k + 1; x--) { 
     System.out.print(" "); 
     } 

    for (int z = n - k; z <= n; z++) { 
     System.out.print("**"); 
     } 
     System.out.print("\n"); 
     } 
    } 
} 

到目前爲止,我可以作出類似的形狀,當然,它充滿了星(*),而不在它們之間的數字符號(#)。喜歡:

** 
**** 
****** 

有人能給我一個提示,因爲我應該從這裏做什麼?

回答

2
public static void patterPrinters(int n) { 
    int i,j,k; 
    for(i=0;i<n;i++) 
    { 
     for(k=0;k<((n-1)-i);k++) 
     { 
     System.out.print(" "); 
     } 
     System.out.print("*"); 
     for(j=0;j<(i*2);j++) 
     { 
     System.out.print("#") 
     } 
     System.out.print("*\n"); 
    } 
} 

檢查了這一點。 所有的最佳。

+0

@getlost遐我忘了。謝謝。 – nitish005 2014-10-18 06:40:53

0

提示:

如果你成功地打印正確的形狀,但只有*,你可以很容易地通過在每一行的開始和結束打印單個*解決這個問題,以及它們之間的打印X-2 # s,其中x是您當前在每行中打印的*的數量。

0

公共靜態無效patterPrinters(INT N)

{ 
    for (int k = 0; k < n; k++) 
    { 
     for (int x = n; x > k + 1; x--) 
     { 
      System.out.print(" "); 
     } 
     System.out.print("*"); 
     for (int col = 0; col < k; col++) 
     { 
      System.out.print("##"); 
     } 
     System.out.print("*\n"); 
     } 
} 
+0

下面是基於您的代碼的替代解決方案。 – 2014-10-18 16:41:40