Grade Calculator
unknown
java
a year ago
2.9 kB
10
Indexable
import java.util.Scanner;
public class GradeCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Input grades with proper prompts
System.out.print("Enter your prelim grade: ");
double prelimGrade = scanner.nextDouble();
System.out.print("Enter your midterm grade: ");
double midtermGrade = scanner.nextDouble();
System.out.print("Enter your final grade: ");
double finalGrade = scanner.nextDouble();
// Validate input (optional but recommended)
validateGrades(prelimGrade, midtermGrade, finalGrade);
// Calculate total and average grades
double totalGrade = prelimGrade + midtermGrade + finalGrade;
double averageGrade = totalGrade / 3.0; // Use double for decimal precision
// Determine letter grade and remarks
String letterGrade;
String remarks;
if (averageGrade >= 100) {
letterGrade = "Invalid";
remarks = "Grades cannot exceed 100.";
} else if (averageGrade >= 98) {
letterGrade = "A+";
remarks = "Excellent!";
} else if (averageGrade >= 94) {
letterGrade = "A";
remarks = "Outstanding!";
} else if (averageGrade >= 90) {
letterGrade = "A-";
remarks = "Very good.";
} else if (averageGrade >= 86) {
letterGrade = "B+";
remarks = "Good.";
} else if (averageGrade >= 81) {
letterGrade = "B";
remarks = "Satisfactory.";
} else if (averageGrade >= 77) {
letterGrade = "B-";
remarks = "Above average.";
} else if (averageGrade >= 70) {
letterGrade = "C+";
remarks = "Average.";
} else if (averageGrade >= 60) {
letterGrade = "C";
remarks = "Needs improvement.";
} else if (averageGrade >= 50) {
letterGrade = "C-";
remarks = "Passing, but consider re-evaluation.";
} else {
letterGrade = "F";
remarks = "Failed. Please consult with your instructor.";
}
// Output results
System.out.println("Your overall grade is: " + averageGrade);
System.out.println("Letter grade: " + letterGrade);
System.out.println("Remarks: " + remarks);
scanner.close();
}
// Optional method to validate grades (can be customized)
public static void validateGrades(double prelim, double midterm, double finalGrade) {
if (prelim < 0 || prelim > 100 || midterm < 0 || midterm > 100 || finalGrade < 0 || finalGrade > 100) {
throw new IllegalArgumentException("Grades must be between 0 and 100.");
}
}
}Editor is loading...
Leave a Comment