2017-11-02 4 views
0

私はJavaでGUIを作ろうとしていますが、私は2つのJTextfieldを持っています。 1つのテキストフィールドには、質問がキーとして格納され、値として回答が格納されているフォーム(質問:回答)のハッシュマップである質問が表示されます。質問はaTextFieldという1つのテキストフィールドに表示され、ユーザーはanswerFieldに答えを入力します。今私は、ユーザーが正しい答えを提供したかどうかを確認したい。ここに私のコードは次のとおりです。java guiのゲームを推測するための値を比較する

guessAA.addActionListener(new ActionListener(){ 
     public void actionPerformed(ActionEvent e) 
     { 
      String answerFieldValue =answerField.getText().toUpperCase(); 
      int idx = indexGenerator.nextInt(19); 
      String key = FULL_NAMES[idx]; 
      aTextField.setText("Guess this " + key); 

      if(answerFieldValue != null && !answerFieldValue.isEmpty()) 
      { 
       System.out.println("your input " + answerFieldValue); 
       System.out.println("correct answer " + myMap.get(key)); 
      } 

今、このため出力がされています ご入力C 正解T 正解W ご入力Wご入力T 正解はG

だからとして私の質問は常に次のものとして保存されるので、私は比較することはできません。誰でも助けてくれますか?おかげ

+0

まあ、 'NT IDX = indexGenerator.nextInt (19); '疑わしいが、文脈がなくても分かりません – MadProgrammer

+1

私には、現在の質問を検証する前に次の質問に移動しているように見えるので、次の質問を見ているようです現在の質問の回答の代わりに答えを入力してください – MadProgrammer

+0

はい、これはまさに起こっていることです。私は非常にJavaの新機能ですので、修正箇所を指摘することができません。 –

答えて

0

、あなたが現在の質問を検証する前に次の質問に移動しているように「思える」、あなたがいるように見えます現在の質問の回答ではなく、次の質問の回答を見てください。

これはあなたが必要としていることを示唆していますが、現在の質問に対する何らかの参考資料です。今

、私は私にできることすべてはあなたが何ができるかの概念的な概要を提供している、あなたの全体的なコードへのアクセスを持っていないので...

public class YourAwesomeGuessingGame extends ... { 
    private String currentQuestionKey; 

    public YourAwesomeGuessingGame() { 
     // Seed the current question key with the first question 
     currentQuestionKey = ...; 
     // Update the UI 

     guessAA.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) 
      { 
       String correctAnswer = myMap.get(key)); 
       String answerGiven = answerField.getText().toUpperCase(); 
       // Compare the results, take appropriate action 
       // Seed the current question key with the next question 
       currentQuestionKey = ...; 
       // Update the UI 
      } 
     } 
    } 
} 
+0

ありがとう!これはうまくいった。 –

0

は、私はあなたがの線に沿って何かを探していると思う:私に

if(myMap.get(key).equals(answerFieldValue)){ 
    //answer was right 
}else{ 
    //answer was wrong 
}