i need help creating a practice class in java that asks the
i need help creating a practice class in java that asks the user if he/she wants to take a quiz if yes, practice will call the quiz class where quiz will then call sampleQuiz which will just be a multiple choice hardcoded quiz for now. once submitted the quizGrader class will be called to grade the quiz, at the end it will ask the user if he wants to take another quiz, if not the program will exit.
Solution
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Scanner;
public class Quiz {
ArrayList<String> Qinfo = new ArrayList<String>();
public void read(Scanner in) {
try
{
boolean isAnswerRight = false;
String rightAnswer = \"\";
double questionToNumber;
double userAnswerToNumber;
String rightAnswers[] = {};
String userAnswers[] = {};
Scanner keyboard = new Scanner(System.in);
Scanner sc = new Scanner(new FileReader(\"quiz.txt\"));
while(sc.hasNextLine())
{
String text = \"\";
text = sc.nextLine();
if(text.equals(\"T\"))
{
String questionType = text;
String questionText = sc.nextLine();
System.out.println(questionText);
String questionAnswer = sc.nextLine();
}
else if(text.equals(\"S\"))
{
String questionType = \"Single Choice\";
String questionText = sc.nextLine();
System.out.println(questionText);
Qinfo.add(questionText);
String questionAnswer1 = sc.nextLine();
System.out.println(questionAnswer1);
String choice1 = questionAnswer1;
String[] line = choice1.split(\" \");
String keyChoice = (line[0]);
if(keyChoice.equals(\"+\"))
{
isAnswerRight = true;
rightAnswer = questionAnswer1;
String questionAnswer2 = sc.nextLine();
System.out.println(questionAnswer2); // Display choice 2
Qinfo.add(questionAnswer2);
String choice2 = questionAnswer2;
String[] line2 = choice2.split(\" \");
String keyChoice2 = (line2[0]);
if (keyChoice2.equals(\"+\"))
{
isAnswerRight = true;
rightAnswer = questionAnswer2;
}
String questionAnswer3 = sc.nextLine();
System.out.println(questionAnswer3); // Display choice 3
Qinfo.add(questionAnswer3);
String choice3 = questionAnswer3;
String[] line3 = choice3.split(\" \");
String keyChoice3 = (line3[0]);
if (keyChoice3.equals(\"+\"))
{
isAnswerRight = true;
rightAnswer = questionAnswer3;
}
String questionAnswer4 = sc.nextLine();
System.out.println(questionAnswer4); // Display choice 4
Qinfo.add(questionAnswer4);
String choice4 = questionAnswer4;
String[] line4 = choice4.split(\" \");
String keyChoice4 = (line4[0]);
if (keyChoice4.equals(\"+\"))
{
isAnswerRight = true;
rightAnswer = questionAnswer4;
}
}
System.out.println(\"Enter your choice as shown: \");
// Get answer from user
String userAnswer = keyboard.nextLine();
}
else if(text.equals(\"M\"))
{
String questionType = \"Multiple correct answers\";
String questionText = sc.nextLine();
System.out.println(questionText);
String questionAnswer1 = sc.nextLine();
System.out.println(questionAnswer1);
String choice1 = questionAnswer1;
String[] line = choice1.split(\" \");
String keyChoice = (line[0]);
if(keyChoice.equals(\"+\"))
{
isAnswerRight = true;
rightAnswers[0] = questionAnswer1;
}
String questionAnswer2 = sc.nextLine();
System.out.println(questionAnswer2); // Display choice 2
String choice2 = questionAnswer2;
String[] line2 = choice1.split(\" \");
String keyChoice2 = (line[0]);
if(keyChoice2.equals(\"+\"))
{
isAnswerRight = true;
rightAnswers[1] = questionAnswer2;
}
String questionAnswer3 = sc.nextLine();
System.out.println(questionAnswer3); // Display choice 2
String choice3 = questionAnswer3;
String[] line3 = choice1.split(\" \");
String keyChoice3 = (line[0]);
if(keyChoice3.equals(\"+\"))
{
isAnswerRight = true;
rightAnswers[2] = questionAnswer3;
}
String questionAnswer4 = sc.nextLine();
System.out.println(questionAnswer4); // Display choice 2
String choice4 = questionAnswer4;
String[] line4 = choice1.split(\" \");
String keyChoice4 = (line[0]);
if(keyChoice4.equals(\"+\"))
{
isAnswerRight = true;
rightAnswers[3] = questionAnswer4;
}
String questionAnswer5 = sc.nextLine();
System.out.println(questionAnswer5);
String choice5 = questionAnswer5;
String[] line5 = choice1.split(\" \");
String keyChoice5 = (line[0]);
if(keyChoice5.equals(\"+\"))
{
isAnswerRight = true;
rightAnswers[4] = questionAnswer5;
}
System.out.println(\"Enter your answer(s) use N to stop: \");
String userAnswer1 = keyboard.nextLine();
int counter = 0;
while (!(userAnswer1.equalsIgnoreCase(\"N\")))
{
userAnswers[counter] = userAnswer1;
counter ++;
}
}
else if(text.equals(\"N\"))
{
String anotherQuestion = sc.nextLine();
System.out.println(anotherQuestion);
questionToNumber = sc.nextDouble();
System.out.println(\"Enter your answer using the number keys; \");
userAnswerToNumber = sc.nextDouble();
}
}
}
catch(Exception exc){}
}
boolean[] checkAnswers(ArrayList<String> answers) {
throw new UnsupportedOperationException(\"Not yet implemented\");
}
ArrayList<Question> getQuestions() {
ArrayList<Question> quizQuestions;
{
return quizQuestions;
}
}
}






