The program simply calculates and prints grades of a student. It is a basic program, where a user inputs marks for all the subject. Further, it tallies total marks and applies below formula to get percentage figure. Based on the that, we identify grades using conditional operator (if-else).
% = ( Total Marks Obtained / Total Marks ) * 100
If the average of total marks > 80, it would be treated as Grade ‘A’
If the average of total marks > 60 and < = 80, it would be treated as Grade ‘B’
If the average of total marks > 30 and < = 60, it would be treated as Grade ‘C’
If the average of total marks > 0 and < = 30, it would be treated as Grade ‘D’
We’ll be following two ways to achieve the same functionality.
Program :
public class StudentGrades { /** * A simple Java program to find student grades * Assuming a student has 5 subjects **/ public static void main(String[] args) { int totalSubjects = 5; // assuming 5 subjects int maxMarksEachSub = 100; // Each subject can have max 100 marks double[] marks = new double[totalSubjects]; double totalMarks = 0; double marksInPercentage; Scanner userInputObj = new Scanner(System.in); System.out.println("Please enter marks in all subjects."); for (int i = 0; i < marks.length; i++) { System.out.print("Subject " + (i + 1) + " : "); marks[i] = userInputObj.nextInt(); /* Handling Invalid Input */ if (marks[i] > maxMarksEachSub || marks[i] < 0) { System.out.println("Invalid input " + marks[i] + "\nTerminating the program..... "); return; } totalMarks = totalMarks + marks[i]; } marksInPercentage = (totalMarks / (totalSubjects * maxMarksEachSub)) * 100; System.out.println("Total marks obtained : " + totalMarks); System.out.println("Your Grade : " + getGrade(marksInPercentage)); } private static String getGrade(double marksInPercentage) { if (marksInPercentage > 80 && marksInPercentage <= 100) { return "A"; } else if (marksInPercentage > 60 && marksInPercentage <= 80) { return "B"; } else if (marksInPercentage > 30 && marksInPercentage <= 60) { return "C"; } else { return "D"; } } }
Output :
Invalid Input :
import java.util.Scanner; public class StudentGrades { public static void main(String[] args) { Scanner ed = new Scanner(System.in); String name; int marks, javaScore, mathScore, webTechScore, cnScore, seScore; double avg; System.out.print("Enter name of Student = "); name = ed.next(); System.out.println("Now, Number Out of 100 in following subject :- "); System.out.print("Java : "); javaScore = ed.nextInt(); System.out.print("Maths : "); mathScore = ed.nextInt(); System.out.print("Web Technologies : "); webTechScore = ed.nextInt(); System.out.print("Computer Network : "); cnScore = ed.nextInt(); System.out.print("Software Engineering : "); seScore = ed.nextInt(); marks = javaScore + mathScore + cnScore + seScore + webTechScore; avg = ((double) marks) / 500; System.out.println("Name = " + name); System.out.println("total marks " + marks); if (avg > 0.8 && avg <= 1) { System.out.println("Grade = A"); } else if (avg > 0.6 && avg <= 0.8) { System.out.println("Grade = B"); } else if (avg > 0.3 && avg <= 0.6) { System.out.println("Grade = C"); } else if (avg >= 0 && avg <= 0.3) { System.out.println("Grade = D"); } } }
Output:
Program:
import java.util.Scanner; public class StudentGrades { public static void main(String[] args) { Scanner ed = new Scanner(System.in); String name; int marks = 0, subjectCount; double avg; System.out.print("Enter name of Student = "); name = ed.next(); System.out.print("Enter Number of Subjects = "); subjectCount = ed.nextInt(); System.out.println("Now, Number Out of 100 in following subject :- "); for (int i = 0; i < subjectCount; i++) { marks += ed.nextInt(); } avg = ((double) marks) / subjectCount; System.out.println("Name = " + name); System.out.println("total marks " + marks); if (avg > 80 && avg <= 100) { System.out.println("Grade = A"); } else if (avg > 60 && avg <= 80) { System.out.println("Grade = B"); } else if (avg > 30 && avg <= 60) { System.out.println("Grade = C"); } else if (avg >= 0 && avg <= 30) { System.out.println("Grade = D"); } } }
Output:
Enter name of Student = ProgrammerBay Enter Number of Subjects = 5 Now, Number Out of 100 in following subject :- 83 65 81 67 72 Name = ProgrammerBay total marks 368 Grade = B
This post was last modified on August 21, 2022