2014-01-08 20 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")); 
    } 
} 
相关问题