Java program to find the correct output of student quiz

Here, we are implementing a java program that will be used to find the correct output of given student quiz.
Submitted by Chandra Shekhar, on January 06, 2018

Given quiz answers with the correct answer and we have to find score along with the correct answers using java program.

Program:

import java.util.*;
class QuizCheckResult
{
	// creating array object.
    char A[][],K[];
    int S[],n;
     
    void input()
    {
    	// create object of scanner class.
        Scanner sc = new Scanner(System.in);
        
        // enter number of participants.
        System.out.print("Enter number of participants : ");
        n = sc.nextInt();
        
        // condition of least and heighest input
        if(n<4 || n>10)
        {
        	// input the range here.
            System.out.print("Input size out of range : ");
            System.exit(0);
        }
        
        A = new char[n][5]; 
        K = new char[5]; 
        S = new int[n]; 
        
        // enter the correct answer to check the answers of students.
        System.out.println("\n* Enter answer of each participant row-wise in a single line *\n");
        for(int i = 0; i<n; i++)
        {
            System.out.print("Participant "+(i+1)+" : ");
            for(int j=0; j<5; j++)
            {
                A[i][j] = sc.next().charAt(0);
            }
        }
        System.out.print("\nEnter Answer Key : ");
        for(int i = 0; i<5; i++)
        {
            K[i] = sc.next().charAt(0);
        }
    }
 
    // Function to calculate score of participant
    void Score() 
    {
 
        for(int i = 0; i<n; i++)
        {
            S[i] = 0;
            for(int j=0; j<5; j++)
            {
            	// Checking if Answer of the participants match with the key or not
                if(A[i][j] == K[j]) 
                {
                    S[i]++;
                }
            }
        }
    }
 
    // function to print score.
    void printScore()
    {
        int max = 0;
        System.out.println("\nSCORES : ");
        for(int i = 0; i<n; i++)
        {
            System.out.println("\tParticipant "+(i+1)+" = "+S[i]);
            if(S[i]>max)
            {
            	// Storing the Highest Score
                max = S[i]; 
            }
        }
        System.out.println();
         
        System.out.println("\tHighest Score : "+max);
         
        // Printing all those participant number who got highest score
        System.out.println("\tHighest Scorers : ");
        for(int i = 0; i<n; i++) 
        {
            if(S[i] == max)
            {
                System.out.println("\t\t\tParticipant "+(i+1));
            }
        }
    }
 
    public static void main(String args[])
    {
    	QuizCheckResult ob = new QuizCheckResult();
        ob.input();
        ob.Score();
        ob.printScore();
    }
}

Output

First run:
Enter number of participants : 4

* Enter answer of each participant row-wise in a single line *

Participant 1 : A B D C A
Participant 2 : B B C D A
Participant 3 : A A D C B
Participant 4 : D D C A B

Enter Answer Key : A C B D A

SCORES : 
	Participant 1 = 2
	Participant 2 = 2
	Participant 3 = 1
	Participant 4 = 0

	Highest Score : 2
	Highest Scorers : 
			Participant 1
			Participant 2


Second run:
Enter number of participants : 3
Input size out of range : 

Java Basic Programs »



Related Programs



Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.