class DriveExam an array of students answers private final
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);
}
}
Solution
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
![class DriveExam { // an array of student\'s answers. private final String[] corectAnswers = {\ class DriveExam { // an array of student\'s answers. private final String[] corectAnswers = {\](/WebImages/20/class-driveexam-an-array-of-students-answers-private-final-1044251-1761542958-0.webp)
![class DriveExam { // an array of student\'s answers. private final String[] corectAnswers = {\ class DriveExam { // an array of student\'s answers. private final String[] corectAnswers = {\](/WebImages/20/class-driveexam-an-array-of-students-answers-private-final-1044251-1761542958-1.webp)
![class DriveExam { // an array of student\'s answers. private final String[] corectAnswers = {\ class DriveExam { // an array of student\'s answers. private final String[] corectAnswers = {\](/WebImages/20/class-driveexam-an-array-of-students-answers-private-final-1044251-1761542958-2.webp)
![class DriveExam { // an array of student\'s answers. private final String[] corectAnswers = {\ class DriveExam { // an array of student\'s answers. private final String[] corectAnswers = {\](/WebImages/20/class-driveexam-an-array-of-students-answers-private-final-1044251-1761542958-3.webp)
![class DriveExam { // an array of student\'s answers. private final String[] corectAnswers = {\ class DriveExam { // an array of student\'s answers. private final String[] corectAnswers = {\](/WebImages/20/class-driveexam-an-array-of-students-answers-private-final-1044251-1761542958-4.webp)