A teacher has five students who have taken four tests. The teacher uses the foll
ID: 3563039 • Letter: A
Question
A teacher has five students who have taken four tests. The teacher uses the following grading scale to assign a letter grade to a student, based on the average of his or her four test scores:
Test Score Letter Grade
90 - 100 A
80 - 89 B
70 - 79 C
60 - 69 D
0 - 59 F
Write a class that uses a String array or an ArrayList object to hold the five students names, an array of five characters to hold the five students letter grades, and five arrays of four doubles each toehold each students set of test scores, and a letter grade based on the average.
Demonstrate the class in a program that allows the user to enter each students name and his or her four test scores. It should then display students average test score and letter grade.
Input validation: Do not accept test scores less than zero or greater than 100.
Explanation / Answer
/**
* @(#)StudentLetterGrade.java
*
*
* @author
* @version 1.00 2014/9/25
*/
import java.util.*;
public class StudentLetterGrade {
static int count=0;
String name[]=new String[5];
char letterGrade[]=new char[5];
double testScore[][]=new double[5][4];
public StudentLetterGrade() {
}
public void enterStudentRecord()
{
do
{
System.out.println("****************************************");
System.out.println("Enter Student "+(count+1)+" Record");
System.out.println("****************************************");
Scanner sc=new Scanner(System.in);
System.out.println("Enter Student Name");
name[count]=sc.nextLine();
double avg_test=0;
for(int i=0;i<4;)
{
System.out.print("Enter Student "+(i+1)+" Subject Marks : ");
testScore[count][i]=sc.nextInt();
if(testScore[count][i] < 0 || testScore[count][i] > 100 )
System.out.println("Invalid Marks Please Reenter the Marks : ");
else
{
avg_test+=testScore[count][i];
i++;
}
}
avg_test=avg_test/4;
if(avg_test>=90 && avg_test<=100)
letterGrade[count]='A';
else if(avg_test>=80 && avg_test<90)
letterGrade[count]='B';
else if(avg_test>=70 && avg_test<80)
letterGrade[count]='C';
else if(avg_test>=60 && avg_test<70)
letterGrade[count]='D';
else
letterGrade[count]='F';
System.out.println("Serial number : "+(count+1));
System.out.println("Student Name : "+name[count]);
System.out.println("Average Marks : "+avg_test);
System.out.println("Student Grade : "+letterGrade[count]);
count++;
System.out.println("****************************************");
}while(count<5);
}
public static void main(String args[])
{
StudentLetterGrade stg1=new StudentLetterGrade();
stg1.enterStudentRecord();
}
}
Output:-
--------------------Configuration: <Default>--------------------
****************************************
Enter Student 1 Record
****************************************
Enter Student Name
Tom
Enter Student 1 Subject Marks : 50
Enter Student 2 Subject Marks : 80
Enter Student 3 Subject Marks : 75
Enter Student 4 Subject Marks : 95
Serial number : 1
Student Name : Tom
Average Marks : 75.0
Student Grade : C
****************************************
****************************************
Enter Student 2 Record
****************************************
Enter Student Name
Dick
Enter Student 1 Subject Marks : 85
Enter Student 2 Subject Marks : 95
Enter Student 3 Subject Marks : 90
Enter Student 4 Subject Marks : 90
Serial number : 2
Student Name : Dick
Average Marks : 90.0
Student Grade : A
****************************************
****************************************
Enter Student 3 Record
****************************************
Enter Student Name
Harry
Enter Student 1 Subject Marks : 80
Enter Student 2 Subject Marks : 85
Enter Student 3 Subject Marks : 80
Enter Student 4 Subject Marks : 90
Serial number : 3
Student Name : Harry
Average Marks : 83.75
Student Grade : B
****************************************
****************************************
Enter Student 4 Record
****************************************
Enter Student Name
Joe
Enter Student 1 Subject Marks : 60
Enter Student 2 Subject Marks : 65
Enter Student 3 Subject Marks : 70
Enter Student 4 Subject Marks : 63
Serial number : 4
Student Name : Joe
Average Marks : 64.5
Student Grade : D
****************************************
****************************************
Enter Student 5 Record
****************************************
Enter Student Name
Nick
Enter Student 1 Subject Marks : 10
Enter Student 2 Subject Marks : 25
Enter Student 3 Subject Marks : 80
Enter Student 4 Subject Marks : 50
Serial number : 5
Student Name : Nick
Average Marks : 41.25
Student Grade : F
****************************************
Process completed.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.