#java
#java — язык #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 я уже получил это из другого activity, мне просто сложно получить доступ к обоим классам, например, как я могу использовать TFQuestionList в TFQuestion, какой метод я должен использовать?
Я не могу собрать их вместе, чтобы получить доступ к необходимой мне информации в TFQuestionList и использовать метод в TFQustion.
спасибо за вашу помощь!
Ответ №1:
Если бы я понял ваш вопрос, вы бы не указали, TFQuestionList
где TFQuestion
к нему можно получить доступ. Здесь у вас есть довольно хорошая модель, в которой вы смоделировали вопрос и список вопросов. Вы настроили его так, что конструктор принимает уровень и добавляет вопросы.
Итак, оставляя в стороне определенные аспекты модифицируемости и предоставления внутренних функций, я думаю, что вы хотели бы добавить к TFQuestionList
методу getter для получения вопросов:
public List<TFQuestion> getQuestions() {
return allQuestions;
}
Итак, где-то вы находитесь / захотите создать экземпляр TFQuestionList
с уровнем, а затем вы захотите иметь какой-то цикл отображения, который представляет вопросы (и собирает входные данные от пользователя). Вы не показали код для того, как вы выполняете эту часть цикла, но концептуально это прямолинейно.