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;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.