2015-03-31 123 views
-6

這裏打印系列是系列:我必須使用循環

12345 

22345 

33345 

44445 

我試圖解決這個問題,但它不來正確...

下面是代碼:

class q14 
    { 
     public static void main () 
     { 
      int i,j,k; 
      for (i=1;i<=5;i++) 
       { 
        for (j=i;j<=5;j++) 
         { 
          for (k=1;k<=i;k++) 
          { 
           System.out.print (i + " "); 
           } 
          System.out.print (j + " "); 
         } 
        System.out.println(); 
       } 
      } 
     } 
+0

此代碼以何種方式解決問題? – 2015-03-31 10:43:10

+0

我想要正確的方式來打印這個系列 – 2015-03-31 10:44:19

+0

有沒有這樣的事情*正確的方式*。有無數的程序可以產生這個序列。此外,給定的系列也是有意義的。 – 2015-03-31 10:46:09

回答

1

下面的塊應該按照您所描述的生成該系列。

int numberOfLines = 4; 
int numberOfDigitsPerLine = 5; 

for (int i=1; i<numberOfLines+1; i++){ 
    for(int j=1; j<=numberOfDigitsPerLine; j++) { 
     if(j>=i) { 
      System.out.print(j); 
     } else { 
      System.out.print(i); 
     } 
    } 
    System.out.println(); 
} 

變化numberOfLines並在必要時numberOfDigitsPerLine

闡述:

首先,你必須分析系列,它的外觀的第一個數字從1開始向前推移了5個數字,第二線沿着5位進入,以及高達5作爲先前但它取代2.

第一位數向下移動號碼,我們可以看到,其中第N數將具有N個數位,接着連續數字氮量的圖案達數5

因此,在我上面的代碼中,我選擇max N作爲你描述的4,並且數字上升到5,分別由變量numberOfLinesnumberOfDigitsPerLine表示。

該塊本身檢查當前N是什麼(在我的塊中它由i表示),然後繼續朝最大值5移動,這是在j for循環內完成的。如果j大於或等於N,那麼我們打印j,否則我們還沒有完成打印所有的N,所以我們打印N。

+0

非常感謝!問題徹底解決! – 2015-03-31 10:57:07

+0

好吧,我現在明白了...... Nice Logic!謝謝! – 2015-03-31 11:02:07

0

這就是:

for (int i = 1; i <= 5; i++) 
     { 
      for(int k = 1; k <= i;k++) 
       System.out.print(i); 
      for (int j = i + 1; j <= 5; j++) 
       System.out.print(j); 
      System.out.print("\n"); 
     } 
0

你不需要第三環爲您的系列

for (int j=1;j<=5;j++) { 

     for (int k=1;k<=5;k++){ 
        if(k<=j) 
         System.out.print (j + " "); 
         else 
         System.out.print (k + " "); 
       } 

     System.out.println(); 
    } 

輸出

1 2 3 4 5 
2 2 3 4 5 
3 3 3 4 5 
4 4 4 4 5 
5 5 5 5 5 

Demo

0

試試這個:

for(int i=1;i<=4;i++) 
    { 
     for(int j = 1; j<=5;j++) 
     { 
      if(i>j) 
      { 
       for(int x= 1 ; x<=i;x++) 
       { 
        System.out.print(i); 
        j++; 
       } 
      }     
      System.out.print(j); 
     } 
     System.out.println("\n"); 
    } 
相關問題