Ik heb een vraagobject met daarin 4 antwoordobjecten.
In question.java heb ik een methode die is:
public Answer getA() {
return a;
}
en op een andere manier heb ik:
if (questions.get(randomNum).getA().isCorrect())
System.out.println("Correct!");
waar vragen een arraylijst is met mijn vraagobjecten.
Dit geeft me de fout ‘Kan methode getA() niet oplossen’en ik weet niet precies waarom.
Ter referentie,
System.out.println(questions.get(randomNum));
werkt prima bij het afdrukken van de vraag en de antwoorden.
Vraag.java
public class Question {
private String questionText;
private Answer a, b, c, d;
public Question(String questionText, Answer a, Answer b, Answer c, Answer d) {
this.questionText = questionText;
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
public String getQuestionText() {
return questionText;
}
public void setQuestionText(String questionText) {
this.questionText = questionText;
}
public Answer getA() {
return a;
}
public void setA(Answer a) {
this.a = a;
}
public Answer getB() {
return b;
}
public void setB(Answer b) {
this.b = b;
}
public Answer getC() {
return c;
}
public void setC(Answer c) {
this.c = c;
}
public Answer getD() {
return d;
}
public void setD(Answer d) {
this.d = d;
}
public String toString() {
return questionText +
"\nA) " + a +
"\nB) " + b +
"\nC) " + c +
"\nD) " + d;
}
}
Antwoord.Java
public class Answer {
private String answerText;
private boolean correct;
public Answer(String answerText) {
this.answerText = answerText;
this.correct = false;
}
public String getAnswerText() {
return answerText;
}
public void setAnswerText(String answerText) {
this.answerText = answerText;
}
public boolean isCorrect() {
return correct;
}
public void setCorrect() {
this.correct = true;
}
public String toString() {
return answerText;
}
}
Antwoord 1, autoriteit 100%
Zorg ervoor dat uw container (met generieke geneesmiddelen) het vraagtype bevat:
ArrayList<Question> questions = new ArrayList<Question>();
Zo weet JAVA welke methode moet worden aangeroepen.