Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
102 views

Unit 5 Programming Assignment Solution

This document provides an example of how to create a quiz program with true/false and multiple choice questions in Java. It defines Question, TrueFalseQuestion, and MultipleChoiceQuestion classes to represent different question types. The main method creates sample questions of each type, calls check() to get/validate the answer, and finally displays the quiz results.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
102 views

Unit 5 Programming Assignment Solution

This document provides an example of how to create a quiz program with true/false and multiple choice questions in Java. It defines Question, TrueFalseQuestion, and MultipleChoiceQuestion classes to represent different question types. The main method creates sample questions of each type, calls check() to get/validate the answer, and finally displays the quiz results.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Unit 5 Programming Assignment Solution

The quiz questions, answers, and choices for correct answer should be unique for each submission. Here
is an example.

File "Question.java":

import javax.swing.JOptionPane;

public abstract class Question {

static int nQuestions = 0;

static int nCorrect = 0;

String question;

String correctAnswer;

abstract String ask();

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+".");

static void showResults() {

JOptionPane.showMessageDialog(null,nCorrect+" correct out of


"+nQuestions+" questions");

}
File "TrueFalseQuestion.java".

import javax.swing.JOptionPane;

public class TrueFalseQuestion extends Question {

String ask() {

while (true) {

String answer = JOptionPane.showInputDialog(question);

answer = answer.toUpperCase();

if (answer.equals("T") || answer.equals("Y") ||
answer.equals("YES")) answer = "TRUE";

if (answer.equals("F") || answer.equals("N") ||
answer.equals("NO")) answer = "FALSE";

boolean valid = (answer.equals("FALSE") ||


answer.equals("TRUE"));

if (valid) return answer;

JOptionPane.showMessageDialog(null,"Invalid answer. Please


enter TRUE or FALSE.");

TrueFalseQuestion(String question, String answer) {

this.question = "TRUE or FALSE: "+question;

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";

File "MultipleChoiceQuestion.java"

import javax.swing.JOptionPane;
public class MultipleChoiceQuestion extends Question {

MultipleChoiceQuestion(String query, String a, String b, String c,


String d, String e, String answer) {

question = query+"\n";

question += "A. "+a+"\n";

question += "B. "+b+"\n";

question += "C. "+c+"\n";

question += "D. "+d+"\n";

question += "E. "+e+"\n";

correctAnswer = answer.toUpperCase();

String ask() {

while (true) {

String answer = JOptionPane.showInputDialog(question);

answer = answer.toUpperCase();

boolean valid = (answer.equals("A") || answer.equals("B")


|| answer.equals("C") || answer.equals("D") || answer.equals("E"));

if (valid) return answer;

JOptionPane.showMessageDialog(null,"Invalid answer. Please


enter A, B, C, D, or E.");

File "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();
}

Screen shot of a true/false question.

You might also like