もうちょっと頑張ってもらおうかな
俺が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 + "」が返されるようにしてほしいな。"); } } }