嗨我有以下程序的问题,因为它给了我一个错误说,variable gradePoints might not have been initialized
,我在这里失踪..?我怎样才能改善代码,使其接受字母A +作为A +和其他任何输入引发错误?谢谢!!java变量未初始化
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);
}
}
对于字符串比较,请参阅http://stackoverflow.com/questions/9870985/if-condition-does-not-work/9870998#9870998等等 – hmjd
为什么downvotes?这是一个完全合理的初学者问题? – Minion91
你为什么编辑和完全改变你的问题?你粘贴了Peter Lawrey回答的代码,现在怎么样? **这个**代码有什么新问题吗? – maba