Home » Java programs » Java basic programs

Program to verify answers of answer sheets of N students in Java



Here, we are implementing a java program that will read number of students their answers which they marked in answer sheets, answer key (correct answers) and finally calculate the result of all students.
Submitted by IncludeHelp, on December 24, 2017

Given number of students, their answers of answer sheet and answer keys and we have to calculate their result using java program.

Program

import java.util.Scanner;

public class ExArrayCalculateMarksByMatching 
{
	// declare array objects.
	char A[][],K[];
	int S[],n;

	void input()
	{
		// create object of scanner class.
		Scanner sc = new Scanner(System.in);

		// enter number of students
		System.out.print("Enter number of Students : ");
		n = sc.nextInt();

		if(n<4 || n>10)
		{
			// enter size for taking range.
			System.out.println("INPUT SIZE OUT OF RANGE");
			System.exit(0);
		}
		// Array to store the answers of students.
		A = new char[n][5]; 

		// Array to store answer key
		K = new char[5]; 

		// Array to store score of Students.
		S = new int[n]; 

		// enter answers row-wise.
		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.println("Participant "+(i+1)+" : ");
			for(int j=0; j<5; j++)
			{
				A[i][j] = sc.next().charAt(0);
			}
		}

		// enter correct answer.
		System.out.println("\nEnter Answer Key : ");
		for(int i = 0; i<5; i++)
		{
			K[i] = sc.next().charAt(0);
		}
	}

	// Function to calculate score Students.
	void CalcScore() 
	{
		for(int i = 0; i<n; i++)
		{
			S[i] = 0;
			for(int j=0; j<5; j++)
			{
				// matching the students answers with correct answer.
				if(A[i][j] == K[j]) 
				{
					S[i]++;
				}
			}
		}
	}

	// function to print score of students.
	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);

		System.out.println("\tHighest Scorers : ");

		// Printing all highest score
		for(int i = 0; i<n; i++) 
		{
			if(S[i] == max)
			{
				System.out.print("\t\t\tParticipant "+(i+1));
			}
		}
	}

	public static void main(String args[])
	{
		ExArrayCalculateMarksByMatching ob = new ExArrayCalculateMarksByMatching();
		ob.input();
		ob.CalcScore();
		ob.printScore();
	}
}

Output

Enter number of Students : 4

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

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

Enter Answer Key : 
A
C
C
B
D

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

	Highest Score : 3
	Highest Scorers : 
			Participant 4





Was this page helpful? YES NO

Are you a blogger? Join our Blogging forum.



Comments and Discussions


We are using Google to publish ads on our website; Google has its own privacy policies. They may save log, cookies on your system. Google may also collect information of your system like IP address, region, city, country. For more details please go through the Google’s privacy policy.