3

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

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

これまでのエラー チェック用のコードは以下のとおりですが、すべてのエラー チェックが 1 つの "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");
        }
    }
}

ありがとう!

4

1 に答える 1

4

実際には複数の問題があるように見えるのに、なぜ 1 つだけを表示するのでしょうか? 私は通常 C# 開発者なので、これを自分で入力する際に​​構文を正しく理解しようとするつもりはありませんが、概念は次のとおりです。

  • 文字列のリストなど、何らかのコレクションを作成します。
  • これらのエラーごとに 1 つずつ、3 つの if ステートメントを作成し、失敗したそれぞれのフィールド名を入力します。if (name.isEmpty()) { errorList.Add("name"); }
  • リスト内のアイテムの数が 0 より大きいかどうかを確認します。0 より大きい場合は、エラーをスローし、コレクションの不正なフィールドの名前を生成する文字列に入れます。
于 2012-04-19T21:30:50.060 に答える