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

class DriveExam { // an array of student\'s answers. private final String[] core

ID: 3926075 • Letter: C

Question

class DriveExam
{
// an array of student's answers.
private final String[] corectAnswers = {"B","D","A","A","C","A","B","A","C","D","B","C","D","A","D","C","C","B","D","A"};
//Store the User answers
private final String[] userAnswers;
int[] missed = new
int [correctAnswers. length];
// Process the user answers
public DriveExam(String[]Answers)
{
userAnswers = new String[Answers.length];
for (int i= 0; i< Answers.length, i++)
{
userAnswers[i] = Answers[i];
}
}
//return boolean value if correct answers > 15
public boolean passed()
{
if(totalCorrect()>= 15)
return true;
else
return false;
}
// total Correct answers
public int totoalCorrect
{
int correctCount=0;
for (int i =0; i < correctAnswes.length;i++)
{
if (!userAnswers[i].equalsnoreCase(correctAnswers[i]))
{
missed [incorrectCount]= i;
incorrectCount++;
}
}
return incorrectCount;
}
// Missed questions.
public int[] questionMissed()
{
return missed;
}
}
  
  

import java.util.Scanner;

public class DriverExamApplication
{
public static void main(String[]args)
{
System.out.println("Driver's Lincense Exam");
Scanner kb=newScanner(System.in);
Systwm.out.println("20 Multiple choice questions ");
  
// inputting String
String [] answer = new String [20];
String answer;
for (int i =0, i <20,i++)
{
do
{
System.out.print((i+1)+":");
answer = kb.nextLine();
}
While (!isValidAnswer(answer));
answer[i]=answer;
}
//Process
DriverExam= exam= new DriverExam(answers);
  
//Result
System.out.print ("Result");
// outputting Total correct
System.out.println("Total Correct:"+ exam.totalCorrect());
//outputting total incorrect
System.out.println("total incorrect:" +exam.totalIncorrect());
String passed = exam.passed()? "Yes ":" No";
// result pass or fail
System.out.println ("Passed :" +passed);
if (exam.totalIncorrect()>0)
{
System.out.println("The incorrect answers are");
int missedIndex;
for (int i = 0; i < exam.totalcorrect();i++)
{
missedIndex = examquestionsMissed()[i]+1;
System.out.print(""+missedIndex);
}
}
}
// return true when the answer is valid
public static boolean
isValidAnswer(Stringanswer)
{
return "A".equalsIgnoreCase(answer)|| "B".equalsIgnoreCase(answer)|| "C".equalsIgnoreCase(answers)||"D".equalsIgnoreCase(answers);
}
}
  

Explanation / Answer

DriveExam.java

class DriveExam
{
// an array of student's answers.
private final String[] correctAnswers = {"B","D","A","A","C","A","B","A","C","D","B","C","D","A","D","C","C","B","D","A"};
//Store the User answers
private final String[] userAnswers;
int[] missed = new
int [correctAnswers. length];
  
// Process the user answers
public DriveExam(String[] Answers)
{
userAnswers = new String[Answers.length];
for (int i= 0; i< Answers.length; i++)
{
userAnswers[i] = Answers[i];
}
}
//return boolean value if correct answers > 15
public boolean passed()
{
if(totalCorrect()>= 15)
return true;
else
return false;
}
// total Correct answers
public int totalCorrect()
{
int correctCount=0;
for (int i =0; i < correctAnswers.length;i++)
{
if (userAnswers[i].equalsIgnoreCase(correctAnswers[i]))
{
// missed [correctCount]= i;
correctCount++;
}
}
return correctCount;
}
  
// total Correct answers
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;
}
  
// Missed questions.
public int[] questionMissed()
{
return missed;
}
}
________________________________

DriverExamApplication.java

import java.util.Scanner;
public class DriverExamApplication
{
public static void main(String[]args)
{
System.out.println("Driver's Lincense Exam");
Scanner kb=new Scanner(System.in);
System.out.println("20 Multiple choice questions ");
  
// inputting String
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;
}
//Process
DriveExam exam= new DriveExam(answers);
  
//Result
System.out.print ("Result");
// outputting Total correct
System.out.println("Total Correct:"+ exam.totalCorrect());
//outputting total incorrect
System.out.println("total incorrect:" +exam.totalInCorrect());
String passed = exam.passed()? "Yes ":" No";
// result pass or fail
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.questionMissed()[i]+1;
System.out.print(" "+missedIndex);
}
}
}
// return true when the answer is valid
public static boolean isValidAnswer(String answer)
{
return "A".equalsIgnoreCase(answer)|| "B".equalsIgnoreCase(answer)|| "C".equalsIgnoreCase(answer)||"D".equalsIgnoreCase(answer);
}
}
______________________________

output1:

Driver's Lincense Exam
20 Multiple choice questions
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:D
ResultTotal Correct:19
total incorrect:1
Passed :Yes
The incorrect answers are
20

__________________________

Output1:

Driver's Lincense Exam
20 Multiple choice questions
1:A
2:B
3:A
4:C
5:B
6:A
7:D
8:C
9:B
10:A
11:D
12:C
13:D
14:B
15:B
16:C
17:A
18:C
19:B
20:D
ResultTotal Correct:5
total incorrect:15
Passed : No
The incorrect answers are
1 2 4 5 7 8 9 10 11 14 15 17 18 19 20

__________________Thank You