Hej, mam pewien problem, prawdopodobnie wiążący się z faktem mojej niewiedzy, jak to się konkretnie robi w Javie. Albo zawierający jakiś głupi błąd innej natury.
Wyrzuca mi wiecznie java.lang.NullPointerException przy próbie przekazania w metodzie listy, bądź w miejscu w którym próbuję się do niej odwołać.
Stworzyłem takie klasy:
ClassQuizCreator
ClassQuiz
ClassQuestion
ClassQuizCreator to ogólnie GUI (trochę za długie by tu przeklejać, więc skupię się na fragmentach.
deklaruje takie zmienne:
private static ClassQuiz quiz;
private static ClassQuestion question;
W trakcie inicjalizacji GUI, przypisuję je:
quiz = new ClassQuiz();
question = quiz.get_current_question();
Metoda get_current_question w klasie ClassQuiz, zwraca nam pierwszy obiekt tablicy o typie ClassQuestion:
private ClassQuestion[] questions = new ClassQuestion[NUM_OF_QUESTION_CAP_VALUE];
public ClassQuestion get_current_question(){
try {
return questions[indexQuestion];
} catch (NullPointerException ex) {
numberOfQuestions++;
questions[indexQuestion] = new ClassQuestion();
return questions[indexQuestion];
}
}
indexQuestion początkowo jest ustawiony na 0.
I gdy próbuję w ClassQuestionCreator z poprawnymi argumentami wywołać metodę:
public void createQuestion(String image, String question, String[] answers, int[] points, short questiontype) {
loadedImageName = image;
questionContent = question;
answersContent = answers;
pointedAnswers = points;
questionType = questiontype;
}
Wyskakuje mi niestety błąd o którym wspomniałem java.lang.NullPointerException. Jestem pewien że niestety w wywołaniu metody pojawia się ten błąd, sprawdziłem jak barbarzyńca do którego momentu pojawiają się printy.
Jeśli ktoś zechciałby pomóc ale potrzebowałby abym dosłał coś jeszcze, to chętnie wyślę :).