かけ算九九表を出力するプログラムを作成してください。
「脱 超初心者 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("+--+----------------------------+"); } }
でも、これじゃダメだってことに後で気づく。
- 二次元配列を作成して、九九データの代入を行い、その後の表示は分けて作成する。
なんて仕様があったのを完全に見落としていた。ここまで読まないとプロ失格か?!
あ〜。でもこの仕様、冗長な感じがして嫌だな。
それに内部の設計は、どういった背景があるかで変わってくるわけだけど、
今回の目的は、九九表を表示するだけなので、わざわざ配列を作成する必要はない。
ただ、出題者としては、配列の使いかたも覚えてほしいという意図があるのだろう。