1

こんにちは、私は現在、コンピューター ゲーム\プログラムを作成しようとしています。主に使用するのは、ユーザーからの入力、コマンド、JTextField です。そのため、JFrame に "question" (JTextField question = new JTextField(15);) という基本的なテキスト フィールドを設定し、テキストを入力するための [OK] ボタンを既に用意しています。次は文字列の「回答」です。これは: String answer = question.getText().toUpperCase();

このようにフィールドが設定されます。Net は、テキストが入力されていない場合、正しい単語でない場合、そしてもちろん正解である場合にエラーを与える 3 つの if ステートメントです。それらは次のとおりです。

Public class ButtonListener extends ActionListener
{
     publix void actionPerformed(ActionEvent e)
     {
          if(e.getSource() == buttonOK)
          {
           String answer = question.getText().toUpperCase();

          if(answer.length() == 0)
          {
               JOptionPane.showMessageDialog(
                    Window.this,
                    "ERROR: NO INPUT",
                    "ERROR",
                    JOptionPane.INFORMATION_MESSAGE);
          }

          if(answer == "XENIX")
          {
               JOptionPane.showMessageDialog(
                    Window.this,
                    "Welcome, Sir",
                    "Greetings",
                    JOptionPane.INFORMATION_MESSAGE);
          }

          if(answer != "XENIX" && answer.length > 0)
          {
               JOptionPane.showMessageDialog(
                    Window.this,
                    "ERROR: INCORECT PASSWORD",
                    "ERROR",
                    JOptionPane.INFORMATION_MESSAGE);
          }

これは、テキストが入力され、[OK] ボタンが押されたときに if ステートメントがどのように反応するかです。すべてが機能しますが、「Xenix」と入力すると、「ERROR: INCORRECT PASSWORD」と表示されます。印刷方法を使用すると、回答から明らかに「XENIX」が取得されていることが示されますが、「ようこそ、サー」メッセージは表示されません。なぜ機能しないのですか?私が使用することになっている別の方法はありますか?すぐに応答してください!ありがとう!

4

1 に答える 1

3
if(question.getText() !=null && !question.getText().isEmpty())
{
    String answer = question.getText().toUpperCase();

    if(answer.length() == 0)
    {
        ------------------
        ------------------
    }   

    if(answer.equals("XENIX"))
    {
        ------------------
        ------------------
    }

    if((!answer.equals("XENIX")) && answer.length > 0)
    {
        ------------------
        ------------------
    }
}
于 2013-09-24T23:27:49.970 に答える