かけ算九九表を出力するプログラムを作成してください。

「脱 超初心者 Javaアルゴリズム問題集 第4回」より、
http://codezine.jp/careerup/article/aid/1634.aspx

あまり良く読まずに解いてみた。10分ほどで完成。

public class Kuku {

    public static void main(String[] args) {
        java.text.DecimalFormat df = new java.text.DecimalFormat("00");
        System.out.println("+-------- かけ算九九表 ---------+");
        System.out.println("|     1  2  3  4  5  6  7  8  9 |");
        System.out.println("|  +----------------------------|");
        for (int i = 1; i < 10; i++) {
            StringBuilder b = new StringBuilder();
            b.append("| ");
            b.append(i);
            b.append("|");
            for (int j = 1; j < 10; j++) {
                b.append(" ");
                b.append(df.format(i * j));
            }
            b.append(" |");
            System.out.println(b.toString());
        }
        System.out.println("+--+----------------------------+");
    }
}

でも、これじゃダメだってことに後で気づく。

  • 二次元配列を作成して、九九データの代入を行い、その後の表示は分けて作成する。

なんて仕様があったのを完全に見落としていた。ここまで読まないとプロ失格か?!


あ〜。でもこの仕様、冗長な感じがして嫌だな。
それに内部の設計は、どういった背景があるかで変わってくるわけだけど、
今回の目的は、九九表を表示するだけなので、わざわざ配列を作成する必要はない。
ただ、出題者としては、配列の使いかたも覚えてほしいという意図があるのだろう。