@Override public Question getRandomQuestion(int type, Set<Integer> askedQuestions) { try { QuestionsDAO questionsDAO = new QuestionsDAO(connectionQuiz); QuestionsDataSet question = questionsDAO.getRandom(type, askedQuestions); askedQuestions.add(question.getQuestionId()); AnswersDAO answersDAO = new AnswersDAO(connectionQuiz); String[] answers = null; String correctAnswer = null; if (question.getType() == Question.DEFAULT_QUESTION_TYPE) { List<String> answersList = new ArrayList<>(); for (AnswersDataSet a : answersDAO.getByQuestionId(question.getQuestionId())) { answersList.add(a.getText()); if (a.isCorrect()) { correctAnswer = a.getText(); } } answers = new String[answersList.size()]; answers = answersList.toArray(answers); } else if (question.getType() == Question.SPECIAL_QUESTION_TYPE) { AnswersDataSet answer = answersDAO.getCorrectByQuestionId(question.getQuestionId()); correctAnswer = answer.getText(); } return new Question(question.getTitle(), question.getType(), answers, correctAnswer); } catch (SQLException | NullPointerException e) { e.printStackTrace(); } return null; }