2017-05-13 6 views
-6

私はジュニアプログラマの学生です。 Javaでの基本ループ

54321 
4321 
    321 
    21 
    1 

しかし、私はこれを試してみてくださいました:そう右揃えと、以下の出力でループプログラムを作ると混同

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

しかし、以下の出力(右の作品を揃える):

12345 
2345 
    345 
    45 
    5 

どのようにしてコードを編集しようとしましたか?98失敗しました。私は何をすべきか?

+1

System.out.print(6 - k); –

+2

またはループを5から1まで実行してください。++の代わりに - を使用できます。 – GhostCat

答えて

0
これにあなたのロジックを変更

for(int i=5;i>0;i--){ 
     for(int k=i;k>0;k--){ 
       System.out.print(k);  
      } 
      System.out.println(""); 
     } 
+0

OPのように、右揃えでは印刷されません。質問がより明確になるように更新されました。 – Andreas

1

ここ数やスペースを印刷するかどうかを選択するようにデクリメントループや三項条件演算子を使用して、簡単なバージョンです。

for (int i = 5; i > 0; i--) { 
    for (int j = 5; j > 0; j--) 
     System.out.print(j > i ? " " : j); 
    System.out.println(); 
} 
+0

1 vote yes!私は質問がはっきりしないと同意する。 – Saveen