Untitled
unknown
java
5 months ago
2.9 kB
1
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) 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