2012-04-19 13 views
3

私が最近書いた宿題プロジェクトを拡張して、いくつかの練習をしています。これは学年ではありませんが、コードにエラーチェックを追加したいと思います。if文のエラーチェック

このプログラムでは、名前を入力し、ドロップダウンから選択し、リストボックスから選択し、ラジオボタンを選択する必要があります。私の目標は、必要な項目のいずれかが空白の場合にエラーメッセージボックスに値を設定することです。

エラーチェックのためのコードは以下ですが、エラーチェックのすべてが単一の "if"ステートメントに含まれているため、欠落している個々のアイテムを取ってメッセージボックスに埋め込む方法がわかりません。

エラーチェックコード:

// Listener to handle the print button. 
class ButtonListener implements ActionListener 
{ 
    ButtonListener() {} 

    public void actionPerformed(ActionEvent e) 
    { 
     JFrame frame1 = new JFrame("Show Message Dialog"); 

     // Checks for required entries 
     if (error == 0 || name == "" || flag == 0) 
     { 
      JOptionPane.showMessageDialog(frame1, 
        "You must complete the form: " +  missing, "ERROR", 
       JOptionPane.ERROR_MESSAGE); 
     } 
     else 
     { 
      // Get values from fields 
      setText(); 
      System.out.println("Passenger's Name: " + name + "\n"); 
      System.out.println("Age Group: " + ageValue + "\n"); 
      for (int i = 0; i < value.length; i++) 
      { 
       System.out.println("Destination: " + value[i] + "\n"); 
      } 
      System.out.println("Departure Day: " + day + "\n"); 
     } 
    } 
} 

ありがとう!

+0

私は、これらのフィールドをそれぞれのフィールドに1つずつ別々の 'if'ステートメントに分割し、そのフィールドに対して適切なエラーメッセージを表示する必要があると思います。 –

+1

EclipseなどのIDEを使用してコードをフォーマットすることを検討してください。 – adarshr

+2

+1独立学習の場合 –

答えて

4

実際に複数のことが間違っているように見えますが、なぜ1つしか表示しないのでしょうか?私は通常、私は自分自身をこれを入力するには、構文の権利を取得しようとするつもりはありませんので、C#のdevのだけど、ここでは概念です:

  • は、文字列のリストのように、いくつかの並べ替えのコレクションを作成します。
  • これらのエラーごとに1つずつ、3つのif文を作成し、エラーが発生した文ごとに という名前を付けます。 if (name.isEmpty()) { errorList.Add("name"); }
  • リスト内のアイテムの数が0より大きいかどうかを確認します。 の場合、エラーが発生し、 コレクションの不良フィールドの名前を生成する文字列に入れます。