i have written a java code but i need the results to be displayed in a method ca
ID: 3774458 • Letter: I
Question
i have written a java code but i need the results to be displayed in a method called displayResults, how do i do it?
import java.util.Scanner;
public class DriverExamExercise
{
static final Scanner console = new Scanner(System.in);
static char[] officialAnswers={'B','D','A','A','C','A','B','A','C','D','B','C','D','A','D','C','C','B','D','A'};
static char[] getStudentAnswer=new char[20];
public static void main(String[] args)
{
int counter=0;
String answer;
int[] wrong;
do{
System.out.print(" enter the answer to question #"+(counter+1)+": ");
answer=console.nextLine().toUpperCase();
if(answer.charAt(0)!='A'&&answer.charAt(0)!='B'&&answer.charAt(0)!='C'&&answer.charAt(0)!='D')
{
System.out.println("Invalid input, please try again");
}
else
{
getStudentAnswer[counter]=answer.charAt(0);
++counter;
}
}while(counter<getStudentAnswer.length);
if(passed())
{
System.out.println(" Success! you have passed :) ");
}
else
{
System.out.println("Sorry, you failed :(");
}
System.out.println("You got "+totalCorrect()+" right");
System.out.println("You got "+totalIncorrect()+" wrong");
wrong=questionsMissed();
for(int count=0;count<wrong.length;++count)
{
System.out.println("You got #"+wrong[count]+" wrong");
}
}
public static boolean passed()
{
int correct=totalCorrect();
if(correct>=15)
{
return true;
}
else
{
return false;
}
}
public static int totalCorrect()
{
int correct=0;
for(int counter=0;counter<officialAnswers.length;++counter)
{
if(officialAnswers[counter]==getStudentAnswer[counter])
{
++correct;
}
}
return correct;
}
public static int totalIncorrect()
{
int incorrect=0;
for(int counter=0;counter<officialAnswers.length;++counter)
{
if(officialAnswers[counter]!=getStudentAnswer[counter])
{
++incorrect;
}
}
return incorrect;
}
public static int[] questionsMissed()
{
int[] missed=new int[totalIncorrect()];
int count=0;
for(int counter=0;counter<officialAnswers.length;++counter)
{
if(officialAnswers[counter]!=getStudentAnswer[counter])
{
missed[count]=counter+1;
++ count;
}
}
return missed;
}
}
Explanation / Answer
Hi, I have added required method.
Please let me know in case of any issue.
import java.util.Scanner;
public class DriverExamExercise
{
static final Scanner console = new Scanner(System.in);
static char[] officialAnswers={'B','D','A','A','C','A','B','A','C','D','B','C','D','A','D','C','C','B','D','A'};
static char[] getStudentAnswer=new char[20];
public static void main(String[] args)
{
int counter=0;
String answer;
do{
System.out.print(" enter the answer to question #"+(counter+1)+": ");
answer=console.nextLine().toUpperCase();
if(answer.charAt(0)!='A'&&answer.charAt(0)!='B'&&answer.charAt(0)!='C'&&answer.charAt(0)!='D')
{
System.out.println("Invalid input, please try again");
}
else
{
getStudentAnswer[counter]=answer.charAt(0);
++counter;
}
}while(counter<getStudentAnswer.length);
displayResults();
}
public static boolean passed()
{
int correct=totalCorrect();
if(correct>=15)
{
return true;
}
else
{
return false;
}
}
public static int totalCorrect()
{
int correct=0;
for(int counter=0;counter<officialAnswers.length;++counter)
{
if(officialAnswers[counter]==getStudentAnswer[counter])
{
++correct;
}
}
return correct;
}
public static int totalIncorrect()
{
int incorrect=0;
for(int counter=0;counter<officialAnswers.length;++counter)
{
if(officialAnswers[counter]!=getStudentAnswer[counter])
{
++incorrect;
}
}
return incorrect;
}
public static int[] questionsMissed()
{
int[] missed=new int[totalIncorrect()];
int count=0;
for(int counter=0;counter<officialAnswers.length;++counter)
{
if(officialAnswers[counter]!=getStudentAnswer[counter])
{
missed[count]=counter+1;
++ count;
}
}
return missed;
}
public static void displayResults(){
if(passed())
{
System.out.println(" Success! you have passed :) ");
}
else
{
System.out.println("Sorry, you failed :(");
}
System.out.println("You got "+totalCorrect()+" right");
System.out.println("You got "+totalIncorrect()+" wrong");
int[] wrong =questionsMissed();
for(int count=0;count<wrong.length;++count)
{
System.out.println("You got #"+wrong[count]+" wrong");
}
}
}
/*
Sample run:
enter the answer to question #1: 3
Invalid input, please try again
enter the answer to question #1: A
enter the answer to question #2: B
enter the answer to question #3: C
enter the answer to question #4: D
enter the answer to question #5: E
Invalid input, please try again
enter the answer to question #5: F
Invalid input, please try again
enter the answer to question #5: G
Invalid input, please try again
enter the answer to question #5: A
enter the answer to question #6: B
enter the answer to question #7: B
enter the answer to question #8: C
enter the answer to question #9: A
enter the answer to question #10: D
enter the answer to question #11: D
enter the answer to question #12: D
enter the answer to question #13: A
enter the answer to question #14: V
Invalid input, please try again
enter the answer to question #14: C
enter the answer to question #15: B
enter the answer to question #16: B
enter the answer to question #17: C
enter the answer to question #18: A
enter the answer to question #19: A
enter the answer to question #20: D
Sorry, you failed :(
You got 3 right
You got 17 wrong
You got #1 wrong
You got #2 wrong
You got #3 wrong
You got #4 wrong
You got #5 wrong
You got #6 wrong
You got #8 wrong
You got #9 wrong
You got #11 wrong
You got #12 wrong
You got #13 wrong
You got #14 wrong
You got #15 wrong
You got #16 wrong
You got #18 wrong
You got #19 wrong
You got #20 wrong
*/
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.