private void Switch_() {
int score = 90;
switch (score) {
case score >= 85:
System.out.println("优秀");
break;
case score < 85 && score >= 60:
System.out.println("合格");
break;
case score < 60:
System.out.println("不合格");
break;
default:
System.out.println("不合格");
break;
}
}
case score >= 85:
case score < 85 && score >= 60:
case score < 60:
Incompatible types. Found: 'boolean', required: 'int'
在一年前还可以这样写。
为什么现在就会报错了呢?
这种带有比较的,用if来判断吧
switch case 只能按照是否相等匹配,你可以将代码做如下修改:
private void Switch_() {
int score = 90;
if (score >= 85) {
System.out.println("优秀");
} else if (score >= 60) {
System.out.println("合格");
} else {
System.out.println("不合格");
}
}
case score >= 85改成
case 85
其他同理