Question: JAVA I have code for my problem , but it doesnt work properly. P.S. i added two classes for this code StdIn and StdOut.: http://introcs.cs.princeton.edu/java/stdlib/StdIn.java.html

JAVA

I have code for my problem , but it doesnt work properly. P.S. i added two classes for this code StdIn and StdOut.:

http://introcs.cs.princeton.edu/java/stdlib/StdIn.java.html

http://introcs.cs.princeton.edu/java/stdlib/StdOut.java.html

Could you fix it and show me output. OUTPUT PLEASE

MY OUTPUT: JAVA I have code for my problem , but it doesnt work

Thank you

Problem: Drivers License Exam 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 are the correct answers: ADBCBABCDACDBDCCADBY our program should store the correct answers shown above in an array. It should ask the user to enter the students answers for each of the 20 questions, and the answers should be stored in another array. After the students answers have been entered, the program should display a message indicating whether the student passed or failed the exam. (A student must correctly answer 15 of the 20 questions to pass the exam.) It should then display the total number of correctly answered questions, the total number of incorrectly answered questions, and a list showing the question numbers of the incorrectly answered questions. Input Validation: Only accept the letters A, B, C, or D as answers.

Code, that i got:

package javaapplication30; import java.util.Scanner;

public class DriversLicense { public static void main (String[] args) { char[] correct = {'B', 'D', 'A', 'A', 'C' , 'A', 'B', 'A', 'C', 'D' , 'B', 'C', 'D', 'A', 'D' , 'C', 'C', 'B', 'D', 'A'};

char[] response = new char [20]; int numCorrect; int numIncorrect; int[] QuestMissed; boolean passed;

for (int a = 0 ; a 'D') { Stdout.println ("Invalid input. Enter answers with A, B, C, or D only!"); response [a] = Stdin.readChar (); } }

Stdout.println ();

passed = examPassed (response, correct); numCorrect = totalCorrect (response, correct); numIncorrect = totalIncorrect (response, numCorrect); QuestMissed = questionsMissed (response, correct);

if (passed) Stdout.print ("You passed!"); else Stdout.print ("You didn't pass!");

Stdout.println (" Below are the details of your marked exam: "); Stdout.println ("#s of correct questions: " + numCorrect); Stdout.println ("#s of incorrect questions: " + numIncorrect);

if (QuestMissed.length > 0) { Stdout.print ("Questions missed: ");

for (int a = 0 ; a

private static int totalCorrect (char[] resp, char[] ans) { int totalCor = 0; for (int a = 0 ; a

private static int totalIncorrect (char[] resp, int right) { return (resp.length - right); }

public static int[] questionsMissed (char[] resp, char[] ans) { int sizeArray = resp.length - totalCorrect (resp, ans); int[] missedQuestions = {};

if (sizeArray

else { missedQuestions = new int [sizeArray]; int position = 0; for (int x = 0 ; x

}

private static boolean examPassed (char[] resp, char[] ans) { int cor; boolean flag = false; cor = totalCorrect (resp, ans); if (cor >= 15) flag = true; return flag; } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!