No.2ベストアンサー
- 回答日時:
・ たとえば、整数か文字列かの場合、クラスIntegerのparseInt(String s)メソッドを使い、例外(NumberFormatException)が発生するかどうかで判断します。
以下のコードを参考にしてみてください。
------------------------------------------------------------
public class ParseIntSample {
public static void main(String[] args) {
System.out.println(isInteger("123"));
System.out.println(isInteger("123A"));
}
static boolean isInteger(String num) {
try {
int n = Integer.parseInt(num);
return true;
} catch (NumberFormatException e) {
return false;
}
}
}
------------------------------------------------------------
結果
true
false
------------------------------------------------------------
実数の場合は、Double.parseDouble(String s)があります。
これも、例外(NumberFormatException)を発生します。
No.1
- 回答日時:
サイトは「Javaの道」さんや「JavaでHello World」さんあたりがお勧め。
色んな情報が載っててすっごく良い。案1.一番手っ取り早いのは、例えばlong値として許される値ならOKという場合
long lTextBoxValue = 0;
try {
lTextBoxValue = Long.parseLong(jtextbox.getText());
} catch(NumberFormatException e) {
・・・
}
という風に、パースしてみて例外をキャッチする。ただ、例外処理というのはコンピュータの処理の中でコストがかかるものなので、多用すると負荷が高くなる。
案2.java.lang.Character#isDigit(int)を使って一文字一文字数値かどうか確かめると確実に分かる。が、全角数字も許されるので半角数字だけにしたいという場合はもう一処理必要。しかもJava5.0ではchar1つ=1文字では無いのでJava1.4と5.0以降を同時に面倒みる必要があるならとてもタイヘン。
案3.もう正規表現でマッチさせりゃいいんじゃないの。
java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("^\-?[0-9]*\.?[0-9]+$");
java.util.regex.Matcher matcher = pattern.matcher(jtextbox.getText());
boolean b = matcher.matches();
こんな感じかな。
一般的にはどのテクが多用されているのかなぁ? 私は面倒なので大体案1を使うかなぁ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
VB.Net Object型 空かどうか
-
Timestamp型への変換について(J...
-
C# マルチスレッドにおける例外...
-
VB.NETで16進数が正しいかどう...
-
VBA Evaluate関数 型が一致しま...
-
XMLパーサの種類について混乱し...
-
全角スペースのチェックについて
-
コンストラクタでの例外は不可...
-
タトゥーや墨を入れる人の共通点
-
スタックオーバーフローとは?
-
時間の取得
-
エクセルVBAで、条件に一致する...
-
インスタンス参照でアクセスで...
-
自作のクラスファイルがインポ...
-
String.containsの反対機能はあ...
-
VB.NET getとsetの概念がわかり...
-
ビジュアルC++でボタンの有...
-
変数名の付け方
-
java eclipse 型に解決できません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
0除算の例外処理ができない!!...
-
文字列からダブルクオートの削除
-
VB.Net Object型 空かどうか
-
連続する「\\」をひとつの「\\...
-
時間の取得
-
【JAVA】与えられた金額を貨幣...
-
VBA Evaluate関数 型が一致しま...
-
Timestamp型への変換について(J...
-
VB.NETで16進数が正しいかどう...
-
nullで、return出来るのはどん...
-
String型の日付(2005/11/25)の...
-
全角スペースのチェックについて
-
C#の捕捉されない例外処理の対...
-
C# マルチスレッドにおける例外...
-
Excelでのエラー
-
Bean→JSPでの文字化け
-
Javaで文字列をゼロ埋め(ゼロパ...
-
例外ってIf文の中に入れますか...
-
タトゥーや墨を入れる人の共通点
おすすめ情報