Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Java question that I just don\'t understand: Add a method to the GradeBook that

ID: 642377 • Letter: J

Question

Java question that I just don't understand:

Add a method to the GradeBook that saves its entries.

Put each entry on its own line, with a separator between values.

Hint: Class Integer's static parseInt method can turn a string into it's int value.

Also write a method that can read them back in from the file.

Don't worry about saving the details of the person class with the grade book entry.

Code:

public abstract class GradeBookEntry {

   private Person student;
   private String assessmentName;
  
   public GradeBookEntry( String assessmentName ){
       this.assessmentName = assessmentName;
   }

   public GradeBookEntry(Person student, String assessmentName) {
       this.student = student;
       this.assessmentName = assessmentName;
   }


   public GradeBookEntry() {
   }

   // The next six methods are just getters and setters
   // for the member variables of this class.
   public Person getStudent() {
       return student;
   }

   public void setStudent(Person person) {
       this.student = person;
   }

   public String getAssessmentName() {
       return assessmentName;
   }

   public void setAssessmentName(String assessmentName) {
       this.assessmentName = assessmentName;
   }
  
   public String getLetterGrade(){
       GradeConverter converter = new GradeConverter();
       return converter.convertGrade(this.getNumericGrade());
   }

   public void printEntry(){
       System.out.println("Assignment: " + getAssessmentName() );
       System.out.println("For student: " + getStudent().getName() );
       System.out.println("Grade: " + getNumericGrade() );
       System.out.println("Letter Grade: " + getLetterGrade() );
   }
  
   public abstract int getNumericGrade();
   public abstract void getData();
}

Explanation / Answer

hope it helps you

student class
public class Student{
private String name;
private double[] test = new double[4];


public Student(){
name = " ";
}

public Student(String n, double[] t){
name = n;
test = t;
}

public void setName(String n)
{
name = n;
}

public String getName(){
return name;
}

public void setTest(double t,int i)
{
test[i] = t;
}

public double getTest(int i)
{
return test[i];
}


public double getTestAvg(){

double sum = 0;
double avg;
for(int i = 0; i < test.length; i++)
{
sum += test[i];
}
avg = sum / test.length;
return avg;
}

public char getLetterGrade(){

double average = getTestAvg();
char grade=0;

if(average >= 90)
grade = 'A';
else if (average >= 80)
grade = 'B';
else if (average >= 70)
grade = 'C';
else if (average >=60)
grade = 'D';
else if (average < 60)
grade = 'F';

return grade;
}

public String toString(){
String str = "";
str += " Name of student: " + name;
str += " Average test score: " + getTestAvg();
str += " Letter grade: " + getLetterGrade();
return str;
}
}   


main program
import java.util.Scanner;
import java.io.*;

public class GradeBook {

public static void main(String[] args) throws IOException {

Student[] students = new Student[5];

getStudentData(students);

}

public static double getStudentData(Student[] array) {
Scanner scan = new Scanner(System.in);
String[] student = new String[5];
double[] test = new double[4];
for (int i = 0; i < student.length; i++) {
System.out.println("Enter the name of the student : ");
student[i] = scan.nextLine();
for (int j = 0; j < test.length; j++) {
System.out.println("Enter score " + (j + 1) + " for the student");
test[j] = scan.nextDouble();
scan.nextLine();
}
array[i] = new Student(student[i], test);

}
for(Student student : array)
{
System.out.println(student);
}
return 0;

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote