So far I have... public class lab5 { public static ArrayList<Double> quizGrades(
ID: 3717088 • Letter: S
Question
So far I have...
public class lab5 {
public static ArrayList<Double> quizGrades(){
ArrayList<Double> quizGrades = new ArrayList<Double>();
quizGrades.add(76.0);
quizGrades.add(79.0);
quizGrades.add(76.0);
quizGrades.add(81.0);
quizGrades.add(71.0);
quizGrades.add(79.0);
quizGrades.add(72.0);
quizGrades.add(71.0);
quizGrades.add(72.0);
quizGrades.add(78.0);
quizGrades.add(87.0);
quizGrades.add(78.0);
quizGrades.add(79.0);
quizGrades.add(75.0);
quizGrades.add(80.0);
quizGrades.add(73.0);
quizGrades.add(73.0);
quizGrades.add(73.0);
quizGrades.add(69.0);
quizGrades.add(71.0);
quizGrades.add(68.0);
quizGrades.add(78.0);
quizGrades.add(75.0);
quizGrades.add(87.0);
return quizGrades;
}
public static ArrayList<Double> homeworkGrades(){
ArrayList<Double> homeworkGrades = new ArrayList<Double>();
homeworkGrades.add(100.0);
homeworkGrades.add(91.0);
homeworkGrades.add(100.0);
homeworkGrades.add(100.0);
homeworkGrades.add(82.0);
homeworkGrades.add(81.0);
homeworkGrades.add(100.0);
homeworkGrades.add(100.0);
homeworkGrades.add(83.0);
homeworkGrades.add(100.0);
homeworkGrades.add(61.0);
homeworkGrades.add(100.0);
homeworkGrades.add(100.0);
return homeworkGrades;
}
public static void main(String[] args) {
double midTermScore = 62.0;
double finalScore = 59.0;
double quizaverage = quizAverage();
double homeworkAverage = homeworkAverage();
printWeightedGrade(quizaverage, homeworkAverage, midTermScore, finalScore);
}
private static void printWeightedGrade(double quizaverage, double homeworkAverage, double midTermScore2,
double finalScore2) {
double avg = quizaverage * 0.20 + homeworkAverage * 0.40 + midTermScore2 * 0.15 + finalScore2 * 0.25;
System.out.println("Grade : " + findGrade(avg));
}
private static double quizAverage() {
int minimum = 0;
for (int i = 0; i < quizGrades().size(); i++) {
if (minimum >= quizGrades().get(i)) {
minimum = i;
}
}
double total = 0;
for (int i = 0; i < quizGrades().size(); i++) {
if (i != minimum) {
total += quizGrades().get(i);
}
}
return total / (quizGrades().size() - 1);
}
private static double homeworkAverage() {
int minimum = 0;
for (int i = 0; i < homeworkGrades().size(); i++) {
if (minimum >= homeworkGrades().get(i)) {
minimum = i;
}
}
double total = 0;
for (int i = 0; i < homeworkGrades().size(); i++) {
if (i != minimum) {
total += homeworkGrades().get(i);
}
}
return total / (homeworkGrades().size() - 1);
}
static String findGrade(double grade) {
if (90.0 <= grade) {
return "A";
} else if (87.0 <= grade && grade < 90.0) {
return "A-";
} else if (83.0 <= grade && grade < 87.0) {
return "B+";
} else if (80.0 <= grade && grade < 83.0) {
return "B";
} else if (77.0 <= grade && grade < 80.0) {
return "B-";
} else if (73.0 <= grade && grade < 77.0) {
return "C+";
} else if (70.0 <= grade && grade < 73.0) {
return "C";
} else if (67.0 <= grade && grade < 70.0) {
return "C-";
} else if (63.0 <= grade && grade < 67.0) {
return "D+";
} else if (60.0 <= grade && grade < 63.0) {
return "D";
} else if (grade < 60.0) {
return "F";
}
return null;
}
}
but I dont know how to put it under the public static method being asked for below or how to drop two of the lowest quiz grades, it needs to satisfie the question below, please help
In a class named "Lab5" write a public static method named "computeGrade" that takes 2 ArrayLists of Doubles and2 double as parameter and returns a String. In order, the 4 parameters are a student's quiz grades, homework grades, midterm exam score, then final exam score. This method returns the final letter grade of a student with the provided assignment scores All quizzes are equally weighted and the lowest 2 quiz grades are dropped. The homework assignments are also equally weighted except only the lowest homework grade is dropped. Final averages are calculated with the following weightings Category eight uiz Average Homework Average|40% 15% 25% Midterm Exam Final Exam Questions Part 4: Compute the letter grades for students in a course where their grades are determined by quizzes, homework, and two exams. All quizzes are equally weighted and the lowest 2 quiz grades are dropped. The homework assignments are also equally weighted except only the lowest homework grade is dropped. Final averages are calculated with the following weightings eight Category Quiz Average Homework Average|40% Midterm Exam Final Exam 15% 5% What is the final letter grade for a student with the following grades?Explanation / Answer
Below is your computeGrade method. Please let me know in comments if you have any issues.
private static String computeGrade(ArrayList<Double> quizzes, ArrayList<Double> homeworks, double midTermScore,
double finalScore) {
double first,second;
first = second = Double.MAX_VALUE;
for (int i = 0; i < quizzes.size() ; i ++)
{
if (quizzes.get(i) < first)
{
second = first;
first = quizzes.get(i);
}
else if (quizzes.get(i) < second && quizzes.get(i) != first)
second = quizzes.get(i);
}
double totalQuiz = 0;
for (int i = 0; i < quizGrades().size(); i++) {
if (quizGrades().get(i) != first && quizGrades().get(i) != second) {
totalQuiz += quizGrades().get(i);
}
}
double totalQuizAverage = totalQuiz / (quizGrades().size() -2);
double totalHomeworkAverage = homeworkAverage();
double avg = totalQuizAverage * 0.20 + totalHomeworkAverage * 0.40 + midTermScore * 0.15 + finalScore * 0.25;
return findGrade(avg);
}
lab5.java
public class lab5 {
public static ArrayList<Double> quizGrades() {
ArrayList<Double> quizGrades = new ArrayList<Double>();
quizGrades.add(76.0);
quizGrades.add(79.0);
quizGrades.add(76.0);
quizGrades.add(81.0);
quizGrades.add(71.0);
quizGrades.add(79.0);
quizGrades.add(72.0);
quizGrades.add(71.0);
quizGrades.add(72.0);
quizGrades.add(78.0);
quizGrades.add(87.0);
quizGrades.add(78.0);
quizGrades.add(79.0);
quizGrades.add(75.0);
quizGrades.add(80.0);
quizGrades.add(73.0);
quizGrades.add(73.0);
quizGrades.add(73.0);
quizGrades.add(69.0);
quizGrades.add(71.0);
quizGrades.add(68.0);
quizGrades.add(78.0);
quizGrades.add(75.0);
quizGrades.add(87.0);
return quizGrades;
}
public static ArrayList<Double> homeworkGrades() {
ArrayList<Double> homeworkGrades = new ArrayList<Double>();
homeworkGrades.add(100.0);
homeworkGrades.add(91.0);
homeworkGrades.add(100.0);
homeworkGrades.add(100.0);
homeworkGrades.add(82.0);
homeworkGrades.add(81.0);
homeworkGrades.add(100.0);
homeworkGrades.add(100.0);
homeworkGrades.add(83.0);
homeworkGrades.add(100.0);
homeworkGrades.add(61.0);
homeworkGrades.add(100.0);
homeworkGrades.add(100.0);
return homeworkGrades;
}
public static void main(String[] args) {
double midTermScore = 62.0;
double finalScore = 59.0;
double quizaverage = quizAverage();
double homeworkAverage = homeworkAverage();
printWeightedGrade(quizaverage, homeworkAverage, midTermScore, finalScore);
String grade = computeGrade(quizGrades(),homeworkGrades(), midTermScore, finalScore);
System.out.println("Grade from computeGrade method: "+grade);
}
private static String computeGrade(ArrayList<Double> quizzes, ArrayList<Double> homeworks, double midTermScore,
double finalScore) {
double first,second;
first = second = Double.MAX_VALUE;
for (int i = 0; i < quizzes.size() ; i ++)
{
if (quizzes.get(i) < first)
{
second = first;
first = quizzes.get(i);
}
else if (quizzes.get(i) < second && quizzes.get(i) != first)
second = quizzes.get(i);
}
double totalQuiz = 0;
for (int i = 0; i < quizGrades().size(); i++) {
if (quizGrades().get(i) != first && quizGrades().get(i) != second) {
totalQuiz += quizGrades().get(i);
}
}
double totalQuizAverage = totalQuiz / (quizGrades().size() -2);
double totalHomeworkAverage = homeworkAverage();
double avg = totalQuizAverage * 0.20 + totalHomeworkAverage * 0.40 + midTermScore * 0.15 + finalScore * 0.25;
return findGrade(avg);
}
private static void printWeightedGrade(double quizaverage, double homeworkAverage, double midTermScore2,
double finalScore2) {
double avg = quizaverage * 0.20 + homeworkAverage * 0.40 + midTermScore2 * 0.15 + finalScore2 * 0.25;
System.out.println("Grade : " + findGrade(avg));
}
private static double quizAverage() {
int minimum = 0;
for (int i = 0; i < quizGrades().size(); i++) {
if (minimum >= quizGrades().get(i)) {
minimum = i;
}
}
double total = 0;
for (int i = 0; i < quizGrades().size(); i++) {
if (i != minimum) {
total += quizGrades().get(i);
}
}
return total / (quizGrades().size() - 1);
}
private static double homeworkAverage() {
int minimum = 0;
for (int i = 0; i < homeworkGrades().size(); i++) {
if (minimum >= homeworkGrades().get(i)) {
minimum = i;
}
}
double total = 0;
for (int i = 0; i < homeworkGrades().size(); i++) {
if (i != minimum) {
total += homeworkGrades().get(i);
}
}
return total / (homeworkGrades().size() - 1);
}
static String findGrade(double grade) {
if (90.0 <= grade) {
return "A";
} else if (87.0 <= grade && grade < 90.0) {
return "A-";
} else if (83.0 <= grade && grade < 87.0) {
return "B+";
} else if (80.0 <= grade && grade < 83.0) {
return "B";
} else if (77.0 <= grade && grade < 80.0) {
return "B-";
} else if (73.0 <= grade && grade < 77.0) {
return "C+";
} else if (70.0 <= grade && grade < 73.0) {
return "C";
} else if (67.0 <= grade && grade < 70.0) {
return "C-";
} else if (63.0 <= grade && grade < 67.0) {
return "D+";
} else if (60.0 <= grade && grade < 63.0) {
return "D";
} else if (grade < 60.0) {
return "F";
}
return null;
}
}
Output
Grade : C+
Grade from computeGrade method: C+
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.