import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.ArrayList; public class QuizApplication extends Frame implements ActionListener { private Label questionLabel; private CheckboxGroup optionsGroup; private Checkbox option1, option2, option3, option4; private Button previousButton, nextButton, submitButton; private ArrayList<Question> questions; private int currentQuestionIndex; private int score; public QuizApplication() { setLayout(new FlowLayout()); setTitle("Quiz Application"); setSize(400, 300); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); } }); questionLabel = new Label(); optionsGroup = new CheckboxGroup(); option1 = new Checkbox(); option2 = new Checkbox(); option3 = new Checkbox(); option4 = new Checkbox(); previousButton = new Button("Previous"); nextButton = new Button("Next"); submitButton = new Button("Submit"); add(questionLabel); add(option1); add(option2); add(option3); add(option4); add(previousButton); add(nextButton); add(submitButton); previousButton.addActionListener(this); nextButton.addActionListener(this); submitButton.addActionListener(this); questions = loadQuestionsFromFile("questions.txt"); currentQuestionIndex = 0; score = 0; displayQuestion(currentQuestionIndex); } private ArrayList<Question> loadQuestionsFromFile(String filename) { ArrayList<Question> loadedQuestions = new ArrayList<>(); try (BufferedReader br = new BufferedReader(new FileReader(filename))) { String line; while ((line = br.readLine()) != null) { if (parts.length >= 5) { Question question = new Question(parts[0], parts[1], parts[2], parts[3], parts[4]); loadedQuestions.add(question); } } } catch (IOException e) { e.printStackTrace(); } return loadedQuestions; } private void displayQuestion(int index) { Question currentQuestion = questions.get(index); questionLabel.setText(currentQuestion.getQuestion()); option1.setLabel(currentQuestion.getOption1()); option2.setLabel(currentQuestion.getOption2()); option3.setLabel(currentQuestion.getOption3()); option4.setLabel(currentQuestion.getOption4()); } private void checkAnswer() { Question currentQuestion = questions.get(currentQuestionIndex); Checkbox selectedOption = optionsGroup.getSelectedCheckbox(); if (selectedOption != null && selectedOption.getLabel().equals(currentQuestion.getCorrectAnswer())) { score++; } } private void displayResult() { removeAll(); Label resultLabel = new Label("Your score: " + score + "/" + questions.size()); add(resultLabel); setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == nextButton) { checkAnswer(); if (currentQuestionIndex < questions.size() - 1) { currentQuestionIndex++; displayQuestion(currentQuestionIndex); } } else if (e.getSource() == previousButton) { if (currentQuestionIndex > 0) { currentQuestionIndex--; displayQuestion(currentQuestionIndex); } } else if (e.getSource() == submitButton) { checkAnswer(); displayResult(); } } public static void main(String[] args) { QuizApplication quizApp = new QuizApplication(); quizApp.setVisible(true); } } class Question { private String question; private String option1; private String option2; private String option3; private String option4; private String correctAnswer; public Question(String question, String option1, String option2, String option3, String option4, String correctAnswer) { this.question = question; this.option1 = option1; this.option2 = option2; this.option3 = option3; this.option4 = option4; this.correctAnswer = correctAnswer; } // Getters public String getQuestion() { return question; } public String getOption1() { return option1; } public String getOption2() { return option2; } public String getOption3() { return option3; } public String getOption4() { return option4; } public String getCorrectAnswer() { return correctAnswer; } }
1 2 10 42 11
import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.ArrayList; public class QuizApplication extends Frame implements ActionListener { private Label questionLabel; private CheckboxGroup optionsGroup; private Checkbox option1, option2, option3, option4; private Button previousButton, nextButton, submitButton; private ArrayList<Question> questions; private int currentQuestionIndex; private int score; public QuizApplication() { setLayout(new FlowLayout()); setTitle("Quiz Application"); setSize(400, 300); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); } }); questionLabel = new Label(); optionsGroup = new CheckboxGroup(); option1 = new Checkbox(); option2 = new Checkbox(); option3 = new Checkbox(); option4 = new Checkbox(); previousButton = new Button("Previous"); nextButton = new Button("Next"); submitButton = new Button("Submit"); add(questionLabel); add(option1); add(option2); add(option3); add(option4); add(previousButton); add(nextButton); add(submitButton); previousButton.addActionListener(this); nextButton.addActionListener(this); submitButton.addActionListener(this); questions = loadQuestionsFromFile("questions.txt"); currentQuestionIndex = 0; score = 0; displayQuestion(currentQuestionIndex); } private ArrayList<Question> loadQuestionsFromFile(String filename) { ArrayList<Question> loadedQuestions = new ArrayList<>(); try (BufferedReader br = new BufferedReader(new FileReader(filename))) { String line; while ((line = br.readLine()) != null) { String[] parts = line.split(","); if (parts.length >= 5) { Question question = new Question(parts[0], parts[1], parts[2], parts[3], parts[4]); loadedQuestions.add(question); } } } catch (IOException e) { e.printStackTrace(); } return loadedQuestions; } private void displayQuestion(int index) { Question currentQuestion = questions.get(index); questionLabel.setText(currentQuestion.getQuestion()); option1.setLabel(currentQuestion.getOption1()); option2.setLabel(currentQuestion.getOption2()); option3.setLabel(currentQuestion.getOption3()); option4.setLabel(currentQuestion.getOption4()); } private void checkAnswer() { Question currentQuestion = questions.get(currentQuestionIndex); Checkbox selectedOption = optionsGroup.getSelectedCheckbox(); if (selectedOption != null && selectedOption.getLabel().equals(currentQuestion.getCorrectAnswer())) { score++; } } private void displayResult() { removeAll(); Label resultLabel = new Label("Your score: " + score + "/" + questions.size()); add(resultLabel); setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == nextButton) { checkAnswer(); if (currentQuestionIndex < questions.size() - 1) { currentQuestionIndex++; displayQuestion(currentQuestionIndex); } } else if (e.getSource() == previousButton) { if (currentQuestionIndex > 0) { currentQuestionIndex--; displayQuestion(currentQuestionIndex); } } else if (e.getSource() == submitButton) { checkAnswer(); displayResult(); } } public static void main(String[] args) { QuizApplication quizApp = new QuizApplication(); quizApp.setVisible(true); } } class Question { private String question; private String option1; private String option2; private String option3; private String option4; private String correctAnswer; public Question(String question, String option1, String option2, String option3, String option4, String correctAnswer) { this.question = question; this.option1 = option1; this.option2 = option2; this.option3 = option3; this.option4 = option4; this.correctAnswer = correctAnswer; } // Getters public String getQuestion() { return question; } public String getOption1() { return option1; } public String getOption2() { return option2; } public String getOption3() { return option3; } public String getOption4() { return option4; } public String getCorrectAnswer() { return correctAnswer; } }