Java Question: Add a method to the GradeBook that saves its entries. Put each en
ID: 641980 • Letter: J
Question
Java Question:
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.
Here is the 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
public class Student {
final String STRING_REP = "---------------";
private String studentName, classGrade;
private int studentNumber, studentYear;
private double studentAverage, classAverage;
private double[] testsScore, assignmentsScore;
public Student(String studentName, int studentYear) {
this.studentName = studentName;
this.studentYear = studentYear;
this.studentNumber = computeRandomNumber();
testsScore = new double[2];
assignmentsScore = new double[2];
}
public String getStudentDetails() {
return (" " + STRING_REP + " Student Details Student Name: " +
studentName + " Grade: " +
studentYear + " Student Number: " +
studentNumber + " " + STRING_REP + " ");
}
public void getTestScores(){
int count = 1;
System.out.println(STRING_REP);
for(double i : testsScore){
System.out.println("Test " + count + ": " + i);
count++;
}
System.out.println(STRING_REP);
}
public void getAssignmentScores() {
int count = 1;
System.out.println(STRING_REP);
for(double i : assignmentsScore){
System.out.println("Assignment " + count + ": " + i);
count++;
}
System.out.println(STRING_REP);
}
public void setTestScores(double test1, double test2) {
testsScore[0] = test1;
testsScore[1] = test2;
}
public void setAssignmentScores(double assignment1, double assignment2) {
assignmentsScore[0] = assignment1;
assignmentsScore[1] = assignment2;
}
public int computeRandomNumber() {
Random randomNumber = new Random();
int rNumber = 100 * randomNumber.nextInt(999);
return rNumber;
}
public String computeAverage() {
double temp1 = 0, temp2 = 0, array1 = 1, array2 = 1;
for (int i =0; i < testsScore.length; i++) {
temp1 += testsScore[i];
array1 += i;
}
for (int i =0; i < assignmentsScore.length; i++) {
temp2 += assignmentsScore[i];
array2 += i;
}
double average = (temp1 + temp2)/(array1 + array2);
return (STRING_REP + " Averages Average of tests: " + (temp1/array1) +
" Average of assignments: " + (temp2/array2) +
" Total Average: " + average + " " + STRING_REP);
}
public void computeGrade() {
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.