Answer in Java | JSP | JSF for Yann #128023

QuestionDialog.java:

import java.awt.event.*;
import javax.swing.*;
public class QuestionDialog extends JDialog implements ActionListener {
String answer;
public void actionPerformed(ActionEvent e) {
answer = e.getActionCommand();
dispose();
}
}

Question.java:

import java.awt.*;
import javax.swing.*;
public abstract class Question {
static int nQuestions = 0;
static int nCorrect = 0;
QuestionDialog question;
String correctAnswer;
Question(String question) {
this.question = new QuestionDialog();
this.question.setLayout(new GridLayout(0,1));
this.question.add(new JLabel(" "+question+" ",JLabel.CENTER));
}
String ask() {
question.setVisible(true);
return question.answer;
}
void check() {
nQuestions++;
String answer = ask();
if (answer.equals(correctAnswer)) {
JOptionPane.showMessageDialog(null,"Correct!");
nCorrect++;
} else {
JOptionPane.showMessageDialog(null,"Incorrect. The correct
answer is "+correctAnswer+".");
}
}
void initQuestionDialog() {
this.question.setModal(true);
this.question.pack();
this.question.setLocationRelativeTo(null);
}
static void showResults() {
JOptionPane.showMessageDialog(null,nCorrect+" correct out of
"+nQuestions+" questions");
}
}

TrueFalseQuestion.java:

import javax.swing.*;
public class TrueFalseQuestion extends Question {
TrueFalseQuestion(String question, String answer) {
super(question);
JPanel buttons = new JPanel();
addButton(buttons,"TRUE");
addButton(buttons,"FALSE");
this.question.add(buttons);
initQuestionDialog();
answer = answer.toUpperCase();
if (answer.equals("T") || answer.equals("TRUE") || answer.equals("Y") ||
answer.equals("YES")) correctAnswer = "TRUE";
if (answer.equals("F") || answer.equals("FALSE") || answer.equals("N") ||
answer.equals("NO")) correctAnswer = "FALSE";
}
void addButton(JPanel buttons, String label) {
JButton button = new JButton(label);
button.addActionListener(question);
buttons.add(button);
}
}

MultipleChoiceQuestion.java:

import java.awt.*;
import javax.swing.*;
public class MultipleChoiceQuestion extends Question {
MultipleChoiceQuestion(String query, String a, String b, String c, String d, String
e, String answer) {
super(query);
addChoice("A",a);
addChoice("B",b);
addChoice("C",c);
addChoice("D",d);
addChoice("E",e);
initQuestionDialog();
correctAnswer = answer.toUpperCase();
}
void addChoice(String name, String label) {
JPanel choice = new JPanel(new BorderLayout());
JButton button = new JButton(name);
button.addActionListener(question);
choice.add(button,BorderLayout.WEST);
choice.add(new JLabel(label+" ",JLabel.LEFT),BorderLayout.CENTER);
question.add(choice);
}
}

Quiz.java:

public class Quiz {
public static void main(String[] args) {
Question question = new TrueFalseQuestion("Quizzes are fun!","y");
question.check();
question = new TrueFalseQuestion("Quizzes are more fun than
programming!","n");
question.check();
question = new TrueFalseQuestion("Which one starts with T?","t");
question.check();
question = new TrueFalseQuestion("Which one starts with F?","f");
question.check();
question = new TrueFalseQuestion("Which one is not true?","false");
question.check();
question = new MultipleChoiceQuestion(
"What is a quiz?",
"a test of knowledge, especially a brief informal test given to
students",
"42",
"a duck",
"to get to the other side",
"To be or not to be, that is the question.",
"a");
question.check();
question = new MultipleChoiceQuestion("When is a quiz?",
"long, long ago",
"right now",
"the best of times",
"the worst of times",
"nevermore",
"b");
question.check();
question = new MultipleChoiceQuestion("Where is a quiz?",
"a galaxy far, far away",
"under the sea",
"right here",
"there and back again",
"the other side of the mountain",
"c");
question.check();
question = new MultipleChoiceQuestion("Why is a quiz?",
"I think, therefore it is.",
"Who is to say?",
"You tell me.",
"Because learning is fun!",
"Because I said so.",
"d");
question.check();
question = new MultipleChoiceQuestion("How is a quiz?",
"fair to middling",
"not bad",
"by a stroke of luck",
"by accident",
"Using Java object-oriented programming!",
"e");
question.check();
MultipleChoiceQuestion.showResults();
}
}
Calculate the price
Make an order in advance and get the best price
Pages (550 words)
$0.00
*Price with a welcome 15% discount applied.
Pro tip: If you want to save more money and pay the lowest price, you need to set a more extended deadline.
We know how difficult it is to be a student these days. That's why our prices are one of the most affordable on the market, and there are no hidden fees.

Instead, we offer bonuses, discounts, and free services to make your experience outstanding.
How it works
Receive a 100% original paper that will pass Turnitin from a top essay writing service
step 1
Upload your instructions
Fill out the order form and provide paper details. You can even attach screenshots or add additional instructions later. If something is not clear or missing, the writer will contact you for clarification.
Pro service tips
How to get the most out of your experience with TheBestPaperWriters
One writer throughout the entire course
If you like the writer, you can hire them again. Just copy & paste their ID on the order form ("Preferred Writer's ID" field). This way, your vocabulary will be uniform, and the writer will be aware of your needs.
The same paper from different writers
You can order essay or any other work from two different writers to choose the best one or give another version to a friend. This can be done through the add-on "Same paper from another writer."
Copy of sources used by the writer
Our college essay writers work with ScienceDirect and other databases. They can send you articles or materials used in PDF or through screenshots. Just tick the "Copy of sources" field on the order form.
Testimonials
See why 20k+ students have chosen us as their sole writing assistance provider
Check out the latest reviews and opinions submitted by real customers worldwide and make an informed decision.
Theology
Job well done and completed in a timely fashioned!
Customer 452451, November 18th, 2022
Business Studies
Thank you!
Customer 452451, November 27th, 2022
Anthropology
Excellent services will definitely come back
Customer 452441, September 23rd, 2022
Nursing
The paper was EXCELLENT. Thank you
Customer 452449, September 23rd, 2022
Business Studies
Job well done. Finish paper faster than expected. Thank you!
Customer 452451, October 3rd, 2022
Psychology
Thanks a lot the paper was excellent
Customer 452453, October 26th, 2022
Anthropology
excellent loved the services
Customer 452443, September 23rd, 2022
English 101
Very good job. I actually got an A
Customer 452443, September 25th, 2022
Architecture, Building and Planning
The assignment was well written and the paper was delivered on time. I really enjoyed your services.
Customer 452441, September 23rd, 2022
11,595
Customer reviews in total
96%
Current satisfaction rate
3 pages
Average paper length
37%
Customers referred by a friend
OUR GIFT TO YOU
15% OFF your first order
Use a coupon FIRST15 and enjoy expert help with any task at the most affordable price.
Claim my 15% OFF Order in Chat