有关访问另一个类的arraylist的问题

时间:2019-03-13 01:47:43

标签: java

我现在有两节课,我想做一个T / F问题测验,我被困在如何使用这两节课中

public class TFQuestion {
    private String question;
    private boolean answer;
    private int skillLevel;

    public TFQuestion(String question, boolean isTrue, int level) {
        this.question = question;
        this.answer = isTrue;
        this.skillLevel = level;
    }

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

    public String getQuestion(){
        return this.question;
    }

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

    public boolean getAnswer(){
        return this.answer;
    }

    public void setSillLevel(int level){
        this.skillLevel = level;
    }

    public int getSkillLevel(){
        return this.skillLevel;
    }
}

public class TFQuestionList {
    private ArrayList<TFQuestion> allQuestions;

    public TFQuestionList(int level) {
        allQuestions = new ArrayList<TFQuestion>();
        TFQuestion quest;
        if (level == 0) {
            quest = new TFQuestion("question1", true, level);
            allQuestions.add(quest);
            quest = new TFQuestion("question2.", false, level);
            allQuestions.add(quest);
            quest = new TFQuestion("question3", true, level);
            allQuestions.add(quest);
            quest = new TFQuestion("question4", false, level);
            allQuestions.add(quest);
        } else if (level == 1) {
            quest = new TFQuestion("Question 11", true, level);
            allQuestions.add(quest);
            quest = new TFQuestion("Question 12", false, level);
            allQuestions.add(quest);
            quest = new TFQuestion("Question 13", true, level);
            allQuestions.add(quest);
            quest = new TFQuestion("Question 14", false, level);
            allQuestions.add(quest);
        } else if (level == 2) {
            quest = new TFQuestion("Question 21", true, 2);
            allQuestions.add(quest);
            quest = new TFQuestion("Question 22", false, 2);
            allQuestions.add(quest);
            quest = new TFQuestion("Question 23", true, 2);
            allQuestions.add(quest);
            quest = new TFQuestion("Question 24", false, 2);
            allQuestions.add(quest);
        }
    }

对于int级别,我已经从另一个活动中获得了它,我只是很难访问这两个类,例如如何在TFQuestion中使用TFQuestionList,应该使用哪种方法? 我无法将它们组合在一起以访问TFQuestionList中需要的信息以及在TFQustion中使用方法。 谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果我理解您的问题,则不会将TFQuestionList放在TFQuestion访问的位置。您在这里有一个相当不错的模型,因为您已经对一个问题和一个问题列表进行了建模。您已经设置好它,以便构造函数获得一个级别并添加问题。

因此,撇开可修改性的某些方面并公开内部结构,我想您想要做的就是向TFQuestionList添加一种获取方法来获取问题:

public List<TFQuestion> getQuestions() {
  return allQuestions;
}

因此,您将/将要在某个地方用该级别实例化TFQuestionList,然后您将需要某种显示循环来提出问题(并从用户那里收集输入)。您尚未显示有关如何执行该循环部分的代码,但是从概念上讲,它很简单。