0

現在、学習目的で、多かれ少なかれユーザー定義の辞書であるプログラムを作成しています。単語が与えられ、対応する単語を英語で入力すると、以前に回答として入力された内容に応じて、それが正しいか間違っているかがわかります。

今、私が抱えている問題は、arraylist 内の 2 つの値を比較する方法がわからないため、現在、ユーザー入力が正しいかどうかを確認する方法を理解できないことです。

現在、私はこれを持っています:

public void add(String question, String answer) throws FileNotFoundException, IOException
{
    wordlist.add(new WordPair(question, answer));
}

ちょうど2つの文字列である配列に新しい要素を追加するために、私はこれにこだわっています:

public boolean checkGuess(String question, String quess)
{

}

これは、2 つの文字列を比較したい場所です。どんな助けでも大歓迎です。

4

2 に答える 2

0

Word クラスのメソッドをオーバーライドして、次のequalsようにします。

public boolean checkGuess(String question, String quess)
{
    return wordlist.contains(new WordPair(question, quess));
}

各質問は一意であると想定しました。Mapa の方がより適切な実装であることに注意してください。

于 2013-11-08T09:22:21.020 に答える
0

2 つの文字列を比較するには、equals() メソッドを使用します。

String a = "a";
String b = "a";
if(a.equals(b)){
    //TRUE
}

配列リストを循環するには、for each ループを使用できます

for(WordPair pair : wordlist){
    if(guess.equals(pair.getAnswer())){
    // Equals the word
    }
}

単語の大文字化が重要であると見なされない場合は、代わりequalsIgnoreCase()に使用できます。

String a = "A";
String b = "a";
if(a.equalsIgnoreCase(b)){
// TRUE
}
于 2013-11-08T09:23:58.950 に答える