Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The Local drivers license office has asked you to write a program that grades th

ID: 3569025 • Letter: T

Question

The Local drivers license office has asked you to write a program that grades the written portion of the drivers license exam. the exam has 20 multiple choice questions here area the corrected answers

1.B
2.D
3.A
4.A
5.C
6.A
7.B
8.A
9.C
10.D
11.B
12.C
13.D
14.A
15.D
16.C
17.C
18.B
19.D
20.A
A student must correctly answer 15 of the 20 questions to pass the exam.
Write a class named DriverExasm that holds the correct answers to the exam in an array field. the class should also have an array field that holds the students answers. the class should have the follow methods

passed ----returnstrue if the student passed the exam or false if the student failed
totalCorrect----returns the total number of correctly answered questions
totalIncorrect----returns the total number of incorrectlly answered questions
questionsMissed ----An int array containing the question numbers of the questions that the student missed

Demonstrate the class in a complete program that asks the user to enter a students answers and then displays the results returned from the DriverExam Class methods
Input Validations: ONLY ACCEPTS the letters A, B,C, D as answers

Explanation / Answer

import java.util.Scanner;

class DriverExam
{
private String[] correctAnswers = {"B","D","A","A","C","A","B","A","C","D", "B","C","D","A", "D","C","C","B","D","A"};
private String[] userAnswers;
int[] missed = new int[correctAnswers.length];
public DriverExam(String[] Answers)
{
userAnswers=new String[Answers.length];
for (int i = 0; i < Answers.length; i++)
{
userAnswers[i]=Answers[i];
}
}
public boolean passed()
{
if(totalCorrect() >= 15)
return true;
else
return false;
}
public int totalCorrect()
{
int correctCount=0;
for (int i = 0; i < correctAnswers.length; i++)
{
if (userAnswers[i].equalsIgnoreCase(correctAnswers[i]))
{
correctCount++;
}
}
return correctCount;
}
public int totalIncorrect()
{
int incorrectCount=0;
for (int i = 0; i < correctAnswers.length; i++)
{
if (!userAnswers[i].
equalsIgnoreCase(correctAnswers[i]))
{
missed[incorrectCount] = i;
incorrectCount++;
}
}
return incorrectCount;
}
public int[] questionsMissed()
{
return missed;
}
}
public class DriverExamApplication
{
public static void main(String[] args)
{
System.out.println(" Driver's License Exam ");
Scanner kb = new Scanner(System.in);
System.out.println(" 20 Multiple choice questions Mark A,B,C,D .");
String[] answers = new String[20];
String answer;
for (int i = 0; i < 20; i++)
{
do
{
System.out.print((i + 1) + ": ");
answer = kb.nextLine();
}while (!isValidAnswer(answer));
answers[i] = answer;
}
DriverExam exam = new DriverExam(answers);
System.out.println(" RESULTS ");
System.out.println("Total Correct: " + exam.totalCorrect());
System.out.println("Total Incorrect: " + exam.totalIncorrect());
String passed = exam.passed() ? "YES" : "NO";
System.out.println("Passed: " + passed);
if (exam.totalIncorrect() > 0)
{
System.out.println("The incorrect answers are:");
int missedIndex;
for (int i = 0; i < exam.totalIncorrect(); i++)
{
missedIndex = exam.questionsMissed()[i] + 1;
System.out.print(" " + missedIndex);
}
}
}
public static boolean isValidAnswer(String answer)
{
return "A".equalsIgnoreCase(answer) || "B".equalsIgnoreCase(answer)|| "C".equalsIgnoreCase(answer) || "D".equalsIgnoreCase(answer);
}
}   

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote