0

行と列の合計がその行/列の横/下に表示されるように、このコードの出力をフォーマットしようとしています。数値は正しく取得していますが、スペースと文字数は予測できないため、どのサイズの正方形でも正しくフォーマットできません。ここに私が現在持っているコードがあります。

public void printSquare()
{
    for (int x = 0; x < square.length; x ++)
    {
        System.out.println();
        for (int j = 0; j < square.length; j++)
        {
            System.out.print("   " + square[x][j]);
        }
        System.out.println("  |  " + sumRow(x));

    }
    System.out.print(sumOtherDiag());
    for (int x = 0; x < square.length; x ++)
    {
        System.out.print("   ^");
    }
    System.out.println(sumMainDiag());
    for (int x = 0; x < square.length; x ++)
    {
        System.out.print("   " + sumCol(x));
    }
} 

そして、これの出力は..

   8   1   6  |  15

   3   5   7  |  15

   4   9   2  |  15
15   ^   ^   ^15
   15   15   15 

このようなものをより確実にフォーマットするための戦略はありますか?

4

1 に答える 1

0

それ以外の

  System.out.printf("   " + square[x][j]);

使用する

  System.out.printf("%4d", square[x][j]);    // 4 positions for right-aligned decimal

他の同様のステートメントについても同様です。

于 2016-11-03T19:28:33.000 に答える