Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

/**

* Matt Masten
* CS1180, Summer 2018
* the name of the assignment (e.g. Lab 1A, Lab 5B, Project 1)
*/

package masten_project5;

import java.util.ArrayList;

public class StudentGrades implements Comparable<StudentGrades>


{
public static final double MAX_LAB_POINTS = 10;
public static final double MAX_PROJECT_POINTS = 50;
public static final double MAX_QUIZ_POINTS = 20;
public static final double MAX_EXAM_POINTS = 100;
public static final double LAB_WEIGHT = .15;
public static final double PROJECT_WEIGHT = .25;
public static final double QUIZ_WEIGHT = .10;
public static final double EXAM_WEIGHT = .50;

private String name;


private ArrayList<Double> labGrades;
private ArrayList<Double> projectGrades;
private ArrayList<Double> quizGrades;
private ArrayList<Double> examGrades;

public StudentGrades(String name)


{
this.name = name;
this.labGrades = new ArrayList();
this.projectGrades = new ArrayList();
this.quizGrades = new ArrayList();
this.examGrades = new ArrayList();

public void setName(String name)


{
this.name = name;
}

public void addLabGrade(double grade)


{
this.labGrades.add(grade);
}

public void addQuizGrade(double grade)


{
this.quizGrades.add(grade);
}

public void addProjectGrade(double grade)


{
this.projectGrades.add(grade);
}

public void addExamGrade(double grade)


{
this.examGrades.add(grade);
}

public String getName()


{
return this.name;
}

public ArrayList<Double> getLabGrades()


{
return this.labGrades;
}

public ArrayList<Double> getProjectGrades()


{
return this.projectGrades;
}

public ArrayList<Double> getQuizGrades()


{
return this.quizGrades;
}

public ArrayList<Double> getExamGrades()


{
return this.examGrades;
}

public double getLabAverage()


{
double sum = 0;

for (int i = 0; i < this.labGrades.size(); i++)


{
sum += this.labGrades.get(i);
}

return ((sum / this.labGrades.size()) / MAX_LAB_POINTS * 100);


}

public double getProjectAverage()


{
double sum = 0;

for (int i = 0; i < this.projectGrades.size(); i++)


{
sum += this.projectGrades.get(i);
}

return ((sum / this.projectGrades.size()) / MAX_PROJECT_POINTS * 100);


}

public double getQuizAverage()


{
double sum = 0;

for (int i = 0; i < this.quizGrades.size(); i++)


{
sum += this.quizGrades.get(i);
}

return ((sum / this.quizGrades.size()) / MAX_QUIZ_POINTS * 100);


}

public double getExamAverage()


{
double sum = 0;

for (int i = 0; i < this.examGrades.size(); i++)


{
sum += this.examGrades.get(i);
}

return ((sum / this.examGrades.size()) / MAX_EXAM_POINTS * 100);


}

public double getCourseAverage()


{
return this.getLabAverage() * LAB_WEIGHT +
this.getProjectAverage() * PROJECT_WEIGHT +
this.getQuizAverage() * QUIZ_WEIGHT +
this.getExamAverage() * EXAM_WEIGHT;
}

@Override
public int compareTo(StudentGrades s2)
{
if(this.getCourseAverage() > s2.getCourseAverage())
return 1;
else if(this.getCourseAverage() < s2.getCourseAverage())
return -1;
else
return 0;
}

You might also like