こんにちは、次のプログラムに問題があります。エラーが表示さvariable gradePoints might not have been initialized
れます。また、文字 a+ を A+ として受け入れ、他の入力がエラーをスローするようにコードを改善するにはどうすればよいですか? ありがとう!!
import java.lang.*;
import java.io.*;
import java.util.*;
import java.util.Scanner;
public class Program
{
static final Map<String, Double> gradeToPointMap =
new LinkedHashMap<String, Double>() {{
put("A+", 4.0);
put("A", 4.0);
put("A-", 3.7);
put("B+", 3.3);
put("B", 3.0);
put("B-", 2.7);
put("C+", 2.3);
put("C", 2.0);
put("C-", 1.7);
put("F", 0.0);
}};
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter A Letter Grade: ");
String letterGrade = keyboard.next();
getGradePoint(letterGrade);
}
public double getGradePoint(String letterGrade)
{
Double gradePoints = gradeToPointMap.get(letterGrade.toUpperCase());
if (gradePoints == null)
System.out.println("Unknown letter grade " + letterGrade);
else
System.out.println("Your grade point(GPA) is " + gradePoints);
}
}