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 回答