i have written a java code but i need the results to be disp
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;
 }
 }
Solution
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
*/







