如何以格式打印

时间:2017-03-15 14:59:21

标签: java

这是我的代码

class demo {
    public static void main(String args[]) {
        String[] str = {
                "MC", "MR", "MS", "M+", "M-", "BACK", "CE", "C", "+-", "ROOT",
                "7", "8", "9", "%", "4", "5", "6", "*", "1/X", "1", "2", "3",
                "-", "=", "0", ".", "+"};
        int z = 0;
        for (int i = 0; i < str.length; i++) {
            for (int j = 0; j < 4; j++) {
                System.out.print(str[z] + " ");
                z++;
            }
            System.out.println();
        }
    }
}

现在,我想要的是在一行中以四列的模式打印它们,但不知怎的,我在这个逻辑中面对ArrayOutOfBoundException, 请告诉我,如果我能在这段代码中做任何改进。 提前致谢

1 个答案:

答案 0 :(得分:2)

你可以用不同的方式解决这个问题。只需在每第4个值后打印换行符

for (int i = 0; i < str.length; i++) {
    System.out.print(String.format("%6s", str[i]));
    if (i % 4 == 3) {
        System.out.println();
    }
}

输出

MC    MR    MS    M+
M-  BACK    CE     C
+-  ROOT     7     8
 9     %     4     5
 6     *   1/X     1
 2     3     -     =
 0     .     +