2016-10-19 4 views
1

Pascals Triangleを印刷するためのいくつかのサンプルコードがあります。 (私はスキャナでテストケース= 14を使用しています)コードは機能しますが、結果にはスペースが入ります。三角形の前でこれらのスペースを削除するにはどうすればよいですか?Pascals Triangleの先頭スペースを削除する

import java.util.Scanner; 

public class PascalsTriangle { 
    public static void main(String[] args) { 

     Scanner input = new Scanner(System.in); 
     int rows = input.nextInt(); 

     for(int i = 0;i<rows;i++) { 
      int pascal = 1; 
      System.out.format("%"+(rows-i)*2+"s","");) 

      for(int j=0;j<=i;j++) { 
       System.out.format("%4d", pascal); 
       pascal = pascal* (i - j)/(j + 1); 
      } 
      System.out.println(); 
    } 


} 
} 
+2

あなたのプログラムで定義されたパスカルisnt ..あなたは確かに..それは動作しますか?コード内 –

+0

申し訳ありませんが、int型パスカル= 1の代わりにint型の三角形の= 1 – twostart

+0

変更も –

答えて

0

私はこの行がその部分を見ている4つの文字 'ブロック'で数字を出力していると思います。

String output = String.format("%4d", number); 

以下は、ボックスの左側に数値を出力します。空白が後になりますが、次のようになります。

String output = String.format("%-4d", number); 

これはすべて、使用するnの最大値に依存します。たとえば、各数字が4文字を取ると決めることができます(すべての数字が9999以下の場合 - 実際は20行のパスカルの三角形では少なくとも5文字必要です)。次に、三角形の各行に印刷するスペースの数を調整する必要があります。

関連する問題