もうちょっと頑張ってもらおうかな

俺がid:regasuieに出した宿題が、無事に終了したようだ。

これで良さそうだ…というわけでこのver.0.003で完成とするっ

内容を見てみるとなかなかしっかり書けているが、標準APIの使い方が甘いところ等、まだまだ改善の余地がある。
そんなわけで、追加の宿題を出すことにする。コメントで書くには長すぎるので、トラックバックで。

追加の宿題

以下のテストが通るように Checker を改造してくださいな。土日頑張れば終わるかもしれないけど、まあゆっくりやっておくれ。悩んだ所をブログに書いてくれたら、またヒント出したりするから。
それと、コメントアウト状態になっている部分は、余力があったらやってみておくれ。

/**
 * Checker クラスが正しく動作するかどうかをテストするためのクラス。
 * 
 * @author syunduel
 *  
 */
public class CheckerTest {

	public static void main(String[] args) {

		/*
		 * 数字として認識して欲しいもの。
		 * つまり、true を返して欲しいもの。
		 */
		callChecker("123456", true);
		callChecker("0", true);
		callChecker("12.3", true);
		callChecker("-1", true);
		callChecker("+5", true);
		callChecker("+0.0", true);
		callChecker("-0.0", true);
		callChecker("99999999999999", true);

		/*
		 * 数字として認識して欲しくないもの。
		 * つまり、false を返して欲しいもの。
		 */
		callChecker("あいうえお", false);
		callChecker("二十五", false);
		callChecker("123456", false);
		callChecker("−12.3456", false);
		callChecker("1.2.3", false);
		callChecker("1-23", false);
		callChecker("1+23", false);
		callChecker("12*3", false);
		callChecker("123-", false);
		callChecker("123+", false);
		callChecker("*123", false);
		callChecker("123*", false);
		callChecker("1.", false);
		callChecker(".2", false);
		callChecker("0.0+", false);
		callChecker("0.0-", false);
		
		/*
		 * その他
		 */
//		callChecker("", true);
//		callChecker(null, true);
//		callChecker(" ", false);

	}

	/**
	 * 引数で渡された文字列を引数にして Checker クラスを呼び出す。
	 * 期待した結果が帰ってきた場合は、何もしない。
	 * 期待した結果が帰ってこなかった場合は、予想外だった旨をコンソールに出力する。
	 * 
	 * @param testString Checker#isNumber に引数として渡す文字列
	 * @param expect Checker#isNumber に期待する戻り値
	 */
	public static void callChecker(String testString, boolean expect) {

		// Checker#isNumberを呼び出す
		if (Checker.isNumber(testString) != expect) {
			
			// 予想していた戻り値と結果が一致しなかった場合、ログを出力する。
			System.out.println(
					"「" + testString + "」を渡したところ、"
					+ "「" + !expect + "」が返されました。"
					+ "「"	+ expect + "」が返されるようにしてほしいな。");
		}
	}
}