バカなプログラムを作ろう企画へ

http://d.hatena.ne.jp/nowokay/20070309#1173428898
ちょっと出遅れたけど、自分も書いてみました。とっても素直(?)に再帰で書いてみましたが、こんなのどうでしょう?

public class Test {
	public static void print(String[][] data) {
		try {
			String dummy = data[0][0];
		} catch (NullPointerException ex) {
			System.out.println("データがありません");
			return;
		} catch (IndexOutOfBoundsException ex) {
			System.out.println("データが空です");
			return;
		}
		print(data, 0, 0);
	}
	private static void print(String[][] data, int x, int y) {
		try {
			System.out.print(data[x][y]);
			String dummy1 = data[x][y + 1];
			System.out.print(",");
			print(data, x, y + 1);
		} catch (IndexOutOfBoundsException ex) {
			try {
				String dummy2 = data[x + 1][0];
				System.out.println();
				print(data, x + 1, 0);
			} catch (IndexOutOfBoundsException ex2) {
				return;
			}
		}
	}

	public static void main(String[] args) {
		String[][] data = {
				  {"aa", "bb", "cc"},
				  {"dd", "ee"}};
		print(data);
	}
}