条件满足第一个,跟最后的else当然输出两个了!
你改成
System.out.println("请输入你的分数");
Scanner s = new Scanner(System.in);
int score = s.nextInt();
if(score>=90){
System.out.println("优秀");
}else if(score>=80&&score<90){
System.out.println("良好");
}else if(score>=60&&score<80){
System.out.println("中等");
}else {
System.out.println("差");
}
因为有两个if语句都会执行,第一个和最后一个。
注意逻辑关系,应该用
if(score>=90){
} else if(score>=80&&score<90){
}else if(score>=60&&score<80){
}else{
}
程序代码从上倒下执行 第一个if满足 输出 优秀 第二个不满足不输出 第三个不满足不输出但是第三个有else 所以输出 差 要避免可在第二个和第三个if前添加else 或使用if嵌套