In: Computer Science
JAVA Write a program that translates a user-input floating-point number between 0 and 4 into the closest letter grade. For example, the number 2.8 (which might have been the average of several grades) would be converted to B–. Break ties in favor of the better grade; for example 2.85 should be a B. NOTE: Your implementation must include the definition/implementation and use/calling of the method numberGradeToLetterGrade that is passed a double numeric grade to its parameter variable, and returns the letter grade.
Answer :-
Definition
if grade >= 3.85 && grade <= 4.0 -> letterGrade
= A+
if grade >= 3.5 && grade < 3.85 -> letterGrade =
A
if grade >= 3.333 && grade < 3.5 -> letterGrade
= A-
if grade >= 3.0 && grade < 3.333 -> letterGrade
= B+
if grade >= 2.85 && grade < 3.0 -> letterGrade =
B
if grade >= 2.333 && grade < 2.85 ->
letterGrade = B-
if grade >= 2.0 && grade < 2.333 -> letterGrade =
C+
if grade >= 1.667 && grade <
2.0 -> letterGrade = C
if grade >= 1.333 && grade < 1.667
-> letterGrade = C-
if grade >= 1.0 && grade < 1.333
-> letterGrade = D+
if grade > 0 && grade < 1.0 ->
letterGrade = D
if grade ==
0
-> letterGrade = F
Java Code :-
import java.util.Scanner;
public class grade
{
public static String
numberGradeToLetterGrade(double number)
{
String
letterGrade="N";
if (number >= 3.85
&& number <= 4.0 )
{
letterGrade =
"A+";
}
else if (number >= 3.5
&& number < 3.85 )
{
letterGrade =
"A";
}
else if (number >= 3.333
&& number < 3.5 )
{
letterGrade =
"A-";
}
else if (number>= 3.0 &&
number < 3.333 )
{
letterGrade =
"B+";
}
else if (number >= 2.85
&& number < 3.0 )
{
letterGrade =
"B";
}
else if (number >= 2.333
&& number < 2.85 )
{
letterGrade =
"B-";
}
else if (number >= 2.0
&& number < 2.333 )
{
letterGrade =
"C+";
}
else if (number >= 1.667
&& number < 2.0 )
{
letterGrade =
"C";
}
else if (number >= 1.333
&& number < 1.667 )
{
letterGrade =
"C-";
}
else if (number >= 1.0
&& number < 1.333 )
{
letterGrade =
"D+";
}
else if (number> 0 &&
number < 1.0 )
{
letterGrade =
"D";
}
else if (number == 0)
{
letterGrade =
"F";
}
return letterGrade; // return
letter Grade
}
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
System.out.print("Please enter your
number between 0 and 4: ");// prompt the user for a number
double number =
sc.nextDouble(); // store the user input
while (number <0 || number >
4) // if user not enter value between 0 to 4
{
System.out.print("Please enter your number between 0 and 4:
");
number =
sc.nextDouble(); // store the user input
}
String letterGrade;
// now ,call a function
numberGradeToLetterGrade and print letterGrade
System.out.println("Your
grade is\t" +number+ "\t Which is equal to: \t" +
numberGradeToLetterGrade(number));
}
}
Screenshot of code and output :-