こんにちは、次のプログラムに問題があります。エラーが表示さ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);
     }
 }