前回の微修正とコメントへのレス
id:regasuie:20051017:1129537589
こちらへのコメントを参考に、前回一応の完成を見たプログラムの修正をしてみた。ちゃんと動くように修正できたのでほっと一安心…
しかしこうなってくると色々聞きたくなってしまう悪いクセがふつふつと、けどただ質問するだけっていうのも何か情けない。なので自分なりに考えた答えを書いてみようかなと。
>Stringのインスタンスが生成される
>try〜catchの時点で遅い
>実行速度
ここで言う実行速度が遅いっていうのは、処理のステップ数が多いってことで良いのかな?
と、質問を書いたところでもっと詳しく勉強したくなってきた。とりあえず立読みしに行って見ることにしよう…週末あたりにでも。
とりあえずの最終型
public class Checker { // 正しく数字が入力されたことを判断するプログラム ver.0.006 public static boolean isNumber(String value) { if (value == null || value.length() == 0){ return true; } int chklng = value.length(); char chkno1 = value.charAt(0); char chkno2 = value.charAt(chklng-1); try{ if(chkno1 == '.' || chkno2 == '.') { return false; } double ichk = Double.parseDouble(value); } catch(NumberFormatException e){ return false; } return true; } }
これからtry{}catch{}を使わずに判定する方法も考えてみようかな。