Java Program Suppose a student was taking 5 different courses last semester. Wri
ID: 3783179 • Letter: J
Question
Java Program
Suppose a student was taking 5 different courses last semester. Write a program that
(a) asks the student to input his/her name, student ID, marks for these 5 courses,
(b) calculate the average,
(c) determine the letter grade of each course.
(d) record the number of courses whose final letter grade is A+, A, A-, .... , F+, F, F-.
(e) Output the following information in a nice format: student name, student ID, listing of marks, the average, letter grade for each course, and the number of courses in each letter grade category.
I dont know how to do part c and d
here is the my code:
import java.util.Scanner;
public class Question_2 {
public static void main(String[] args) {
//declare variables
String name;//student name
int studentID;//student ID
int mark1,mark2,mark3,mark4,mark5;//student marks in each 5 courses
//asks the student to input his/her name
System.out.println("Input your first name: ");
Scanner input = new Scanner(System.in);
name=input.nextLine();
//asks the student to input student ID
System.out.println("Input your StudentID (integer in 5 digits),ex:000000 :");
studentID=input.nextInt();
//asks the student to input marks of 5 different courses last semester
System.out.println("Input your courses grade (0-100)integer number ");
System.out.println("Your course1's grade: ");
mark1=input.nextInt();
System.out.println("Your course2's grade: ");
mark2=input.nextInt();
System.out.println("Your course3's grade: ");
mark3=input.nextInt();
System.out.println("Your course4's grade: ");
mark4=input.nextInt();
System.out.println("Your course5's grade: ");
mark5=input.nextInt();
//Calculate the average of 5 different courses last semester
double average = (mark1+mark2+mark3+mark4+mark5)/5.0;
/*
* Output the following information in a nice format: student name,
* student ID, listing of marks, the average, letter grade for each
* course, and the number of courses in each letter grade category.
*/
System.out.println("**********************************************");
System.out.println("Student Name: " + name);
System.out.println("Student ID : " + studentID);
System.out.println(name+" grade in " + "Course1: "+mark1);
System.out.println(name+" grade in " + "Course2: "+mark2);
System.out.println(name+" grade in " + "Course3: "+mark3);
System.out.println(name+" grade in " + "Course4: "+mark4);
System.out.println(name+" grade in " + "Course5: "+mark5);
System.out.println(name+" avaerage grade is: "+average);
System.out.println("**********************************************");
}
}
Explanation / Answer
You can create your own range for the Grade Letter
I am considering Grade Order Like
A+ = 100 - 95 % , A = 95 - 90%, A- =90 - 85%
B+ = 85 - 80 % , B = 80 - 75%, B- =75 - 70%
C+ = 70 - 65 % , C = 65 - 60%, C- =60 - 55%
D+ = 55 - 50 % , D = 50 - 45%, D- =45 - 40%
F+ = 40 - 35% , F = 35 - 30 %, F- =30 - 25%
// Code
import java.util.Scanner;
public class Question_2 {
public String getGradeLetter(double Marks) // New Function added to evaluate gradeLetter
{
//A+ = 100 - 95 % , A = 95 - 90%, A- =90 - 85%
//B+ = 85 - 80 % , B = 80 - 75%, B- =75 - 70%
//C+ = 70 - 65 % , C = 65 - 60%, C- =60 - 55%
//D+ = 55 - 50 % , D = 50 - 45%, D- =45 - 40%
//F+ = 40 - 35% , F = 35 - 30 %, F- =30 - 25%
String letter="W";
if(Marks>95 & Marks<=100)
{
letter="A+";
}
if(Marks>90 & Marks<=95)
{
letter="A";
}
if(Marks>85 & Marks<=90)
{
letter="A-";
}
if(Marks>80 & Marks<=85)
{
letter="B+";
}
if(Marks>75 & Marks<=80)
{
letter="B";
}
if(Marks>70 & Marks<=75)
{
letter="B-";
}
if(Marks>65 & Marks<=70)
{
letter="C+";
}
if(Marks>60 & Marks<=65)
{
letter="C";
}
if(Marks>55 & Marks<=60)
{
letter="C-";
}
if(Marks>50 & Marks<=55)
{
letter="D+";
}
if(Marks>45 & Marks<=50)
{
letter="D";
}
if(Marks>40 & Marks<=45)
{
letter="D-";
}
if(Marks>35 & Marks<=40)
{
letter="F+";
}
if(Marks>30 & Marks<=35)
{
letter="F";
}
if(Marks<=30)
{
letter="F-";
}
return letter;
}
public static void main(String[] args) {
//declare variables
Question_2 q2=new Question_2();
String name;//student name
int studentID;//student ID
int mark1,mark2,mark3,mark4,mark5;//student marks in each 5 courses
String mark1_letter,mark2_letter,mark3_letter,mark4_letter,mark5_letter, final_grade;
//asks the student to input his/her name
System.out.println("Input your first name: ");
Scanner input = new Scanner(System.in);
name=input.nextLine();
//asks the student to input student ID
System.out.println("Input your StudentID (integer in 5 digits),ex:000000 :");
studentID=input.nextInt();
//asks the student to input marks of 5 different courses last semester
System.out.println("Input your courses grade (0-100)integer number ");
System.out.println("Your course1's grade: ");
mark1=input.nextInt();
System.out.println("Your course2's grade: ");
mark2=input.nextInt();
System.out.println("Your course3's grade: ");
mark3=input.nextInt();
System.out.println("Your course4's grade: ");
mark4=input.nextInt();
System.out.println("Your course5's grade: ");
mark5=input.nextInt();
mark1_letter=q2.getGradeLetter(mark1);
mark2_letter=q2.getGradeLetter(mark2);
mark3_letter=q2.getGradeLetter(mark3);
mark4_letter=q2.getGradeLetter(mark4);
mark5_letter=q2.getGradeLetter(mark5);
//Calculate the average of 5 different courses last semester
double average = (mark1+mark2+mark3+mark4+mark5)/5.0;
final_grade=q2.getGradeLetter(average);
/*
* Output the following information in a nice format: student name,
* student ID, listing of marks, the average, letter grade for each
* course, and the number of courses in each letter grade category.
*/
System.out.println("**********************************************");
System.out.println("Student Name: " + name);
System.out.println("Student ID : " + studentID);
System.out.println(name+" grade in " + "Course1: "+mark1+" Grade Letter : "+ mark1_letter);
System.out.println(name+" grade in " + "Course2: "+mark2+" Grade Letter : "+ mark2_letter);
System.out.println(name+" grade in " + "Course3: "+mark3+" Grade Letter : "+ mark3_letter);
System.out.println(name+" grade in " + "Course4: "+mark4+" Grade Letter : "+ mark4_letter);
System.out.println(name+" grade in " + "Course5: "+mark5+" Grade Letter : "+ mark5_letter);
System.out.println(name+" avaerage grade is: "+average+" Grade Letter : "+final_grade);
System.out.println("**********************************************");
}
}
//----------------------------------------Output
--------------------Configuration: <Default>--------------------
Input your first name:
John
Input your StudentID (integer in 5 digits),ex:000000 :
10
Input your courses grade (0-100)integer number
Your course1's grade:
10
Your course2's grade:
35
Your course3's grade:
65
Your course4's grade:
85
Your course5's grade:
97
**********************************************
Student Name: John
Student ID : 10
John grade in Course1: 10 Grade Letter : F-
John grade in Course2: 35 Grade Letter : F
John grade in Course3: 65 Grade Letter : C
John grade in Course4: 85 Grade Letter : B+
John grade in Course5: 97 Grade Letter : A+
John avaerage grade is: 58.4 Grade Letter : C-
**********************************************
Process completed.
///// New Code
import java.util.Scanner;
public class Question_2 {
static int[] grade_letter=new int[15]; // total 15 types of grades A+,A,A-,.....,F+,F,F- used as a counter for each grade
static String[] grades={"A+", "A", "A-","B+", "B", "B-","C+", "C", "C-","D+", "D", "D-","F+", "F", "F-"};
public String getGradeLetter(double Marks,int mask) // mask variable is used to distinguish average and individual
{
//A+ = 100 - 95 % , A = 95 - 90%, A- =90 - 85%
//B+ = 85 - 80 % , B = 80 - 75%, B- =75 - 70%
//C+ = 70 - 65 % , C = 65 - 60%, C- =60 - 55%
//D+ = 55 - 50 % , D = 50 - 45%, D- =45 - 40%
//F+ = 40 - 35% , F = 35 - 30 %, F- =30 - 25%
if(Marks>95 & Marks<=100)
{
if(mask==0)
grade_letter[0]++; // Increment in Corresponding grade (A+)
return grades[0];
}
if(Marks>90 & Marks<=95)
{
if(mask==0)
grade_letter[1]++;
return grades[1];
}
if(Marks>85 & Marks<=90)
{
if(mask==0)
grade_letter[2]++;
return grades[2];
}
if(Marks>80 & Marks<=85)
{
if(mask==0)
grade_letter[3]++;
return grades[3];
}
if(Marks>75 & Marks<=80)
{
if(mask==0)
grade_letter[4]++;
return grades[4];
}
if(Marks>70 & Marks<=75)
{
if(mask==0)
grade_letter[5]++;
return grades[5];
}
if(Marks>65 & Marks<=70)
{
if(mask==0)
grade_letter[6]++;
return grades[6];
}
if(Marks>60 & Marks<=65)
{
if(mask==0)
grade_letter[7]++;
return grades[7];
}
if(Marks>55 & Marks<=60)
{
if(mask==0)
grade_letter[8]++;
return grades[8];
}
if(Marks>50 & Marks<=55)
{
if(mask==0)
grade_letter[9]++;
return grades[9];
}
if(Marks>45 & Marks<=50)
{
if(mask==0)
grade_letter[10]++;
return grades[10];
}
if(Marks>40 & Marks<=45)
{
if(mask==0)
grade_letter[11]++;
return grades[11];
}
if(Marks>35 & Marks<=40)
{
if(mask==0)
grade_letter[12]++;
return grades[12];
}
if(Marks>30 & Marks<=35)
{
if(mask==0)
grade_letter[13]++;
return grades[13];
}
if(Marks<=30)
{
if(mask==0)
grade_letter[14]++;
return grades[14];
}
return "ERROR";
}
public static void main(String[] args) {
//declare variables
Question_2 q2=new Question_2();
String name;//student name
int studentID;//student ID
int mark1,mark2,mark3,mark4,mark5;//student marks in each 5 courses
String mark1_letter,mark2_letter,mark3_letter,mark4_letter,mark5_letter, final_grade;
//asks the student to input his/her name
System.out.println("Input your first name: ");
Scanner input = new Scanner(System.in);
name=input.nextLine();
//asks the student to input student ID
System.out.println("Input your StudentID (integer in 5 digits),ex:000000 :");
studentID=input.nextInt();
//asks the student to input marks of 5 different courses last semester
System.out.println("Input your courses grade (0-100)integer number ");
System.out.println("Your course1's grade: ");
mark1=input.nextInt();
System.out.println("Your course2's grade: ");
mark2=input.nextInt();
System.out.println("Your course3's grade: ");
mark3=input.nextInt();
System.out.println("Your course4's grade: ");
mark4=input.nextInt();
System.out.println("Your course5's grade: ");
mark5=input.nextInt();
mark1_letter=q2.getGradeLetter(mark1,0);
mark2_letter=q2.getGradeLetter(mark2,0);
mark3_letter=q2.getGradeLetter(mark3,0);
mark4_letter=q2.getGradeLetter(mark4,0);
mark5_letter=q2.getGradeLetter(mark5,0);
//Calculate the average of 5 different courses last semester
double average = (mark1+mark2+mark3+mark4+mark5)/5.0;
final_grade=q2.getGradeLetter(average,1);
/*
* Output the following information in a nice format: student name,
* student ID, listing of marks, the average, letter grade for each
* course, and the number of courses in each letter grade category.
*/
System.out.println("**********************************************");
System.out.println("Student Name: " + name);
System.out.println("Student ID : " + studentID);
System.out.println(name+" grade in " + "Course1: "+mark1+" Grade Letter : "+ mark1_letter);
System.out.println(name+" grade in " + "Course2: "+mark2+" Grade Letter : "+ mark2_letter);
System.out.println(name+" grade in " + "Course3: "+mark3+" Grade Letter : "+ mark3_letter);
System.out.println(name+" grade in " + "Course4: "+mark4+" Grade Letter : "+ mark4_letter);
System.out.println(name+" grade in " + "Course5: "+mark5+" Grade Letter : "+ mark5_letter);
System.out.println(name+" avaerage grade is: "+average+" Grade Letter : "+final_grade);
System.out.println("Subject Grade Distribution: ");
System.out.println("**********************************************");
for (int i=0;i<15;i++) // Check all the counters corresponding to grades
{
if(grade_letter[i]!=0) // Check only non zeros entries if you want to print all comment this line
{
System.out.println("Grade Letter: "+grade_letter[i]+" * "+grades[i]);
}
}
System.out.println("**********************************************");
}
}
//----Output
--------------------Configuration: <Default>--------------------
Input your first name:
John
Input your StudentID (integer in 5 digits),ex:000000 :
12345
Input your courses grade (0-100)integer number
Your course1's grade:
21
Your course2's grade:
75
Your course3's grade:
89
Your course4's grade:
62
Your course5's grade:
51
**********************************************
Student Name: John
Student ID : 12345
John grade in Course1: 21 Grade Letter : F-
John grade in Course2: 75 Grade Letter : B-
John grade in Course3: 89 Grade Letter : A-
John grade in Course4: 62 Grade Letter : C
John grade in Course5: 51 Grade Letter : D+
John avaerage grade is: 59.6 Grade Letter : C-
Subject Grade Distribution:
**********************************************
Grade Letter: 1 * A-
Grade Letter: 1 * B-
Grade Letter: 1 * C
Grade Letter: 1 * D+
Grade Letter: 1 * F-
**********************************************
Process completed.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.