帮我看看这个简单的JAVA程序哪里错了

来源:百度知道 编辑:UC知道 时间:2024/06/04 06:04:40
import javax.swing.JOptionPane;

public class Grade1 {
public static void main(String[] args) {
String charscore =JOptionPane.showInputDialog(null,"学生成绩","评定等级专用");
int score = Integer.parseInt(charscore);
if (score >= 90)
JOptionPane.showMessageDialog(null,"A","评定等级专用");
else if(score >= 80)
JOptionPane.showMessageDialog(null,"B","评定等级专用",JOptionPane.INFORMATION_MESSAGE);
else if(score >= 70)
JOptionPane.showMessageDialog(null,"C","评定等级专用");
else if (score>60)
JOptionPane.showMessageDialog(null,"D","评定等级专用");
else JOptionPane.showMessageDialog(null,"E","评定等级专用");
}

}

我是新手。

大致看了一下楼主的代码,了解了楼主的意思,错在If的结构问题上,90分以上A
80-90分以上B 以此类推
但是照楼主的写法如果大于90分给A,大于80分给B,大于70分给C,这个是有问题的,看到这里楼主应该知道问题在哪里了吗?所谓的else if这当中的条件如果是并列的,就不能有交集,不然编辑器怎么知道该执行哪个语句快,像楼主写的>=80和>=70本身就有交集当然不行了,这样的情况下要把
if else从并列关系改成嵌套关系就行了。

下面的程序调试成功

import javax.swing.JOptionPane;

public class Grade1 {
public static void main(String[] args) {
String charscore =JOptionPane.showInputDialog(null,"Score","Jugde Level");
int score = Integer.parseInt(charscore);
if (score >= 90) {
JOptionPane.showMessageDialog(null,"A","Jugde Level",JOptionPane.INFORMATION_MESSAGE);
}
else {
if(score >= 80) {
JOptionPane.showMessageDialog(null,"B","Jugde Level",JOptionPane.INFORMATION_MESSAGE);
} else {
if(score >= 70) {
JOptionPane.showMessageDialog(null,"C","Jugde Level",JOptionPane.INFORMATION_MESSAGE);