Question
(Java, Eclipse IDE) In this assignment, you will again modify your Quiz program from the previous assignment. You will create a separate class for quiz
(Java, Eclipse IDE)
In this assignment, you will again modify your Quiz program from the previous assignment. You will create a separate class for quiz questions, and you will create objects of that class to ask questions and check answers. This assignment will include multiple cut-and-paste operations from the existing "Quiz" class into the new "MultipleChoiceQuestion" class. Object-oriented programming is designed to avoid cut and paste, and you will see some of the techniques for re-using existing code in the next assignment. In this assignment, however, you will be converting from procedural programming to object-oriented programming, and cut-and-paste is a simple strategy for this conversion. First create the new "MultipleChoiceQuestion" class. Open your "CS1102" project in Eclipse. Select "New" -> "Class" from the File menu. Enter the Name "MultipleChoiceQuestion" and click "Finish". The new file "MultipleChoiceQuestion.java" should appear in the editor pane. Make sure it is also listed under "(default package)" in the "Package Explorer" pane, along with "Quiz.java". Having both files in the same package eliminates complications with package imports and access specifiers when the "Quiz" class tries to use the "MultipleChoiceQuestion" class. Add class variables and instance variables to the "MultipleChoiceQuestion" definition. Copy the class variables "nQuestions" and "nCorrect" from the "Quiz" class and paste them into the "MultipleChoiceQuestion" class. static int nQuestions = 0; static int nCorrect = 0; Add instance variables for the question and correct answer. Like class variables, these go inside the class definition for "MultipleChoiceQuestion". String question; String correctAnswer; Now add a constructor for "MultipleChoiceQuestion" objects. Name the constructor "MultipleChoiceQuestion". Remember that constructors have no return type. Their name is the return type! Give the constructor 7 parameters, all of type String, named the following o query o a, b, c, d, and e o answer Thus, the constructor should start as follows. MultipleChoiceQuestion(String query, String a, String b, String c, String d, String e, String answer) { (Notice that the parameter names for the constructor are all different from the instance variable names so that they can be distinguished. In the next unit, you will learn how to distinguish between parameters and instance variables with the same name.) Have the constructor initialize the instance variables using its parameters. Initialize "question" using the "query" parameter followed by each choice parameter, "a"-"e". Remember to add the letter and a newline for each choice. For example: question = query+" "; question += "A. "+a+" "; ... Initialize "correctAnswer" to the parameter "answer". Convert it to upper case, so that the String "a" will work as an answer, in addition to "A"
The next step I do not understand how to complete:
Convert "ask" from a class method of "Quiz" to an instance method of "MultipleChoiceQuestion". Add the import statement for "JOptionPane" to "MultipleChoiceQuestion.java" since the copied methods call "JOptionPane" methods. Copy the "ask" method from the "Quiz" class and paste it into the "MultipleChoiceQuestion" class. Remove the "static" modifier and the "question" parameter, leaving the following instance method with no parameters. It does not need parameters because it will use the instance variables. String ask() { If you named your variables as instructed in the last assignment, the "ask" method should now use the instance variable "question" without further modification. Otherwise, edit the method to use "question". Now convert "check" from a class method of "Quiz" to an instance method of "MultipleChoiceQuestion".
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started