【发布时间】:2014-08-19 13:12:07
【问题描述】:
我正在为成绩计算器和 GPA 计算器制作程序。在我的 GPA 计算器中,我有代码来获取他们为课程输入的成绩,它会根据他们在点击计算时输入的内容显示字母成绩。然后我在计算中使用显示的字母等级进行一些数学运算。当我运行程序时,它一直返回 0,尽管获取字母等级的代码在我的代码中非常靠前,而其他数学是接近尾声的方法。
if(Double.parseDouble(txt11.getText()) < 50){
txt12.setText("F");
} else if(Double.parseDouble(txt11.getText()) >= 50 && Double.parseDouble(txt11.getText()) <= 59){
txt12.setText("D");
} else if(Double.parseDouble(txt11.getText()) >= 60 && Double.parseDouble(txt11.getText()) <= 64){
txt12.setText("C");
} else if(Double.parseDouble(txt11.getText()) >= 65 && Double.parseDouble(txt11.getText()) <= 69){
txt12.setText("C+");
} else if(Double.parseDouble(txt11.getText()) >= 70 && Double.parseDouble(txt11.getText()) <= 74){
txt12.setText("B");
} else if(Double.parseDouble(txt11.getText()) >= 75 && Double.parseDouble(txt11.getText()) <= 79){
txt12.setText("B+");
} else if(Double.parseDouble(txt11.getText()) >= 80 && Double.parseDouble(txt11.getText()) <= 84){
txt12.setText("A");
} else if(Double.parseDouble(txt11.getText()) >= 85){
txt12.setText("A+");
}
这是我不断返回 0 的方法。
public double getGP(JTextField a){
double b = 0.0;
if(a.getText().equals("A")){
b = 4.0;
} else if(a.getText().equals("B+")){
b = 3.5;
} else if(a.getText().equals("B")){
b = 3.0;
} else if(a.getText().equals("C+")){
b = 2.5;
} else if(a.getText().equals("C")){
b = 2.0;
} else if(a.getText().equals("D")){
b = 1.0;
} else if(a.getText().equals("F")){
b = 0.0;
}
return b;
}
【问题讨论】:
-
你试过使用调试器吗?
-
你在哪里打电话
getGP(JTextField a)? -
那么,您是否通过调试器运行它以查看 a.getText() 实际返回的内容?