Have been using Dr Java as my IDE. However, have not been getting any luck with
ID: 3683306 • Letter: H
Question
Have been using Dr Java as my IDE. However, have not been getting any luck with this problem because it has not been compiling at all. Looked up other answers here but none would compile either so something must be wrong. Thanks to anyone who had the time to help me out :)
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:
A=90-100
B=80-89
C=70-79
D= 60-69
F = 0-59
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 to hold each student's set of test scores. The class should have methods that return a specific student's name, average test score, and a letter grade based on the average.
Demonstrate the calss in a program that allows the user to enter each students name and his or her four test scores. It should display each students average test score and letter grade.
Do not accept test scores less than zero or greater than 100.
Explanation / Answer
StudentData.java
public class StudentData {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String studentNames[] = new String[5];
char grades[] = {'A', 'B', 'C', 'D', 'E'};
double marks[][] = new double[studentNames.length][4];
java.util.Scanner in = new java.util.Scanner(System.in);
for(int i=0; i<5; i++){
System.out.println("Please Enter Student Name : ");
studentNames[i] = in.next();
System.out.println("Please Enter Marks1 : ");
marks[i][0] = in.nextDouble();
System.out.println("Please Enter Marks2 : ");
marks[i][1] = in.nextDouble();
System.out.println("Please Enter Marks3 : ");
marks[i][2] = in.nextDouble();
System.out.println("Please Enter Marks4 : ");
marks[i][3] = in.nextDouble();
}
char grade = ' ';
for(int i=0; i<studentNames.length; i++){
double average = calculateAverage(grades, marks[i]);
if(average >= 90){
grade = grades[0];
}
else if(average >= 80 && average <= 89){
grade = grades[1];
}
else if(average >= 70 && average <= 79){
grade = grades[2];
}
else if(average >= 60 && average <= 69){
grade = grades[3];
}
else if(average >= 0 && average <= 59){
grade = grades[4];
}
System.out.println("Student Name : "+getStudentName(studentNames, i)+" Marks Average : "+average+" Grade : "+grade);
}
}
public static double calculateAverage(char[] grades, double[] marks){
double marksSum = 0;
double average = 0;
for(int i=0; i<marks.length; i++){
if(marks[i] > 100 && marks[i] < 0){
System.out.println("Invalid marks...");
}
else{
marksSum = marksSum + marks[i];
}
}
average = marksSum/marks.length;
return average;
}
public static String getStudentName(String[] studentNames, int postion){
return studentNames[postion];
}
}
Output:
Please Enter Student Name :
Suresh
Please Enter Marks1 :
89
Please Enter Marks2 :
76
Please Enter Marks3 :
78
Please Enter Marks4 :
67
Please Enter Student Name :
Sekhar
Please Enter Marks1 :
34
Please Enter Marks2 :
43
Please Enter Marks3 :
56
Please Enter Marks4 :
78
Please Enter Student Name :
Satish
Please Enter Marks1 :
67
Please Enter Marks2 :
78
Please Enter Marks3 :
89
Please Enter Marks4 :
98
Please Enter Student Name :
Naresh
Please Enter Marks1 :
67
Please Enter Marks2 :
65
Please Enter Marks3 :
78
Please Enter Marks4 :
88
Please Enter Student Name :
Anshu
Please Enter Marks1 :
89
Please Enter Marks2 :
98
Please Enter Marks3 :
99
Please Enter Marks4 :
91
Student Name : Suresh Marks Average : 77.5 Grade : C
Student Name : Sekhar Marks Average : 52.75 Grade : E
Student Name : Satish Marks Average : 83.0 Grade : B
Student Name : Naresh Marks Average : 74.5 Grade : C
Student Name : Anshu Marks Average : 94.25 Grade : A
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.