2014-01-08 54 views
0

所以我有一個數組列表,在文件中,用字對,一個在英國,一個在丹麥。然後,我將其中一個單詞傳遞給我所做的GUI,然後用戶將他們認爲是用其他語言寫入的內容。引用到對價值的一個數組列表,然後比較它們

我現在面臨的問題是,我不能隨便說這個問題需要平等的答案,因爲他們是2周不同的語言,我不知道如何去這一點。

請好心人請幫我解決這個問題嗎? :)

http://imgur.com/HfelHtb這裏的GUI的圖片,如果你需要一些幫助理解我在說什麼。

public class Quizz 
{ 
    static void add(Quizz quizzlist) 
    { 
     throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 
    } 

    public String getQuestion() 
    { 
     return question; 
    } 

    public void setQuestion(String question) 
    { 
     this.question = question; 
    } 

    public String getAnswer() 
    { 
     return answer; 
    } 

    public void setAnswer(String answer) 
    { 
     this.answer = answer; 
    } 

    private String question; 
    private String answer; 

    public Quizz(String question, String answer) 
    { 
     this.question = question; 
     this.answer = answer; 
    } 

    public String toFile() 
    { 
     return answer + "," + question; 
    } 
} 
+0

既然你已經有了'配對'這個詞,它肯定會認爲這個問題與答案'相等'! – Rugal

+0

我不知道如何比較他們雖然是問題。因爲如果我直接在代碼中比較這兩個單詞,它就會是類似於a = b?不,a = a,如果你明白我的意思。我不知道如何在數組列表中親自做到這一點。 –

+0

我認爲你可以使用'HashMap',這是最適合你的要求!你可以理解,它最初是一個「配對」數組列表! – Rugal

回答

0

你可以發佈你的數組列表的結構,有一個數組列表或兩個?

那你的意思是現在的問題是「蘋果」,那麼答案應該是「æble」?

發佈更多的代碼可能會幫助人們知道你想要什麼。


要比較字符串,請使用equals(String str)方法而不是簡單地使用「=」符號。

public boolean checkAnswer(String answer){ 
    return (this.answer.equals(answer)); 
} 
+0

是的,我可以發表莫爾代碼,我只是不確定人們將需要什麼代碼的一部分。 基本上我有一個數組列表,它包含單詞對,我將在一秒內編輯到OP中。 是的,這基本上是GUI將要做的。 –

+0

我已經添加了整個班級,其中QUIZZ名單是英寸 –

+0

@MadsRosenmeyer似乎只有一個問題,在您的QUIZZ類中的一個答案,你可能需要做什麼可能是添加比較方法返回一個布爾值來指示對還是錯。我已更新我的帖子,看看它是否是你想要的。 – Kenma

1

如果我明白你的問題好了,你想映射一個英文單詞爲它的等效丹麥(和周圍的其他方法一樣)......並能夠:

  • 當 「問題」是英文單詞時,檢查用戶的答案是否與地圖的「丹麥語」一側相匹配並且
  • 檢查用戶答案是否與地圖的「英語」一側匹配,當「問題」是丹麥詞。

基本上,你想要的是一個雙向的地圖。谷歌的番石榴BiMap可能是你要找的。下面是你如何使用它的一個例子:

import com.google.common.collect.BiMap; 
import com.google.common.collect.HashBiMap; 

public class BiMapTest { 
    public static void main(final String[] args) { 
     final BiMap<String, String> biMap = HashBiMap.create(); 

     biMap.put("english_word", "danish_equivalent"); 

     System.out.println("english_word's Danish equivalent is: " + biMap.get("english_word")); 
     System.out.println("danish_equivalent's English original word is: " + biMap.inverse().get("danish_equivalent")); 
    } 
} 
相關問題