package pr02; import java.text.*; public class Student { private static final int DEFAULT_NUM_EXAMS = 1; private static final int DEFAULT_NUM_LABS = 2; private static final int DEFAULT_NUM_QUIZZES = 3; private static final double LAB_WEIGHT = 0.3; private static final double QUIZ_WEIGHT = 0.2; private static final double EXAM_WEIGHT = 0.5; private Name name; private String id; private double [] exams; // all scores are between 0 and 100 private double [] labs; private double [] quizzes; private boolean gradeChanged = true; private double courseAverage; private DecimalFormat fmt; public Student(Name name, String id, int numLabs, int numQuizzes, int numExams) { this.name = name; this.id =id; if (numLabs < 2) numLabs = 2; if (numQuizzes < 3) numQuizzes = 3; if (numExams < 1) numExams = 1; exams = new double[numExams]; labs = new double[numLabs]; quizzes = new double[numQuizzes]; for (int i=0;i=1 && i<=list.length) { list[i-1] = g; return true; } return false; } private static double getGrade(int i, double[] list) { if(i>=1 && i<=list.length) return list[i-1]; return 0; } private static double getSum(double[] list) { double sum = 0; for (int i=0; i< list.length; i++) sum += list[i]; return sum; } // assumes list has at least 1 element private static double getAverage(double[] list) { return getSum(list)/list.length; } // assumes list has more than 1 element private static double getAverageDropLowest(double[] list) { double sum = 0; sum = getSum(list); sum -= getMinValue(list); return sum/(list.length-1); } // assumes list has more than 2 elements private static double getAverageDropHighestLowest(double[] list) { double sum = 0; for (int i=0;i list[i]) min = list[i]; return min; } // assumes list has at least one element private static double getMaxValue(double[] list) { double max = list[0]; for (int i=1;i