引用数组列表中的值对,然后比较它们

时间:2014-01-08 02:56:58

标签: java arraylist comparison

所以我在文件中有一个数组列表,包含单词对,一个用英语,一个用丹麦语。然后我将其中一个单词传递给我制作的GUI,然后用户在另一种语言中编写他们认为的内容。

我面临的问题是,我不能只说问题需要平等回答,因为它们是两种不同的语言,我不知道如何解决这个问题。

善良的灵魂请帮助我吗? :)

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;
    }
}

2 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你想用丹麦语(以及相反的方式)将英语单词映射到它的等效语言......并且能够:

  • 检查用户的答案是否与地图的“丹麦语”侧相匹配 “问题”是英文单词AND
  • 当“问题”是丹麦语单词时,检查用户的答案是否与地图的“英语”侧相符。

基本上,你想要的是一个双向地图。谷歌的番石榴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"));
    }
}

答案 1 :(得分:0)

你可以发布你的数组列表结构,是否有一个或两个数组列表?

你的意思是问题是“Apple”,那么答案应该是“æble”吗?

发布更多代码可能会帮助人们了解您的需求。


要比较字符串,请使用equals(String str)方法,而不是简单地使用“=”符号。

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