0

NumberFormatException入力文字列をチェックすることは可能""ですか?

ユーザーが値を入力しなかった場合、NumberFormatException の代わりにエラー メッセージが表示されるように、プログラムを作成しようとしました。

if(pasientNavnFelt.getText() == "" || pasientNrFeIt.getText() == "")
{
  utskriftsområde.setText("ERROR, insert values");
}

if(pasientNavnFelt.getText() != "" || pasientNrFeIt.getText() != "")
{ 
  // rest of code here if the program had values in it
}

私もヌルで試しました:

if(pasientNavnFelt.getText() == null || pasientNrFeIt.getText() == null)
{
  utskriftsområde.setText("ERROR, insert values");
}

if(pasientNavnFelt.getText() != null || pasientNrFeIt.getText() != null)
{ 
  // rest of code here if the program had values in it
}

私はまだ得る:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""

値がある場合、プログラムは正常に動作します。

4

3 に答える 3

2

文字列を と比較しないでください====2 つのオブジェクトが同じであることを確認しますが、2 つのオブジェクトが同じ文字を持っていることは確認しません。equals()文字列を比較するために使用します。

つまり、文字列が有効な整数であることを検証するには、実際に例外をキャッチする必要があります。

try {
    int i = Integer.parseInt(s);
    // s is a valid integer
}
catch (NumberFormatException e) {
    // s is not a valid integer
}

これはJavaの基本的なものです。例外に関する Java チュートリアルを読んでください。

于 2012-10-27T15:44:04.643 に答える
1

試す:

if( pasientNavnFelt.isEmpty() || pasientNrFeIt.isEmpty()) {
   utskriftsområde.setText("ERROR, insert values");
}
else {
   ...
}
于 2012-10-27T15:42:27.643 に答える
0

2番目の条件が間違っている場合。あなたは、null、エラーがある場合は何かをしようとしています。null エラーがある場合は、どちらかが null でない場合は、残りを実行します。2 文字の変更は、2 番目の「||」の変更です。「&&」に。しかし、おそらくあなたが望むのは実際には次のとおりです。

   if(pasientNavnFelt.getText() == null || pasientNrFeIt.getText() == null)
        {
            utskriftsområde.setText("ERROR, insert values");
        }
   else 
       { <rest of code here if the program had values in it>}
于 2012-10-27T15:44:22.477 に答える