【发布时间】:2019-04-20 05:09:28
【问题描述】:
我正在研究 switch 语句。 Java 编译器告诉我,我的案例 (x, y, z, a) 需要一个常量表达式;这是从哪里来的,为什么我的代码不能运行 switch 语句?
public class JavaPractice {
public static void main ( String[] args ) {
System.out.println("What's your happinessLevel? From 0 - 10");
int _userHappinessLevel = IO.readInt();
if ( _userHappinessLevel < 0 ) {
x = _userHappinessLevel;
} else if ( _userHappinessLevel <= 3) {
y = _userHappinessLevel;
} else if ( _userHappinessLevel > 3 && _userHappinessLevel <= 6 ) {
z = _userHappinessLevel;
} else if ( _userHappinessLevel > 6 && _userHappinessLevel <= 10) {
a = _userHappinessLevel;
} else {
b = _userHappinessLevel;
}
switch (_userHappinessLevel) {
case x:
IO.reportBadInput();
break;
case y:
System.out.println("Hope you feel better");
break;
case z:
System.out.println("You're getting there");
break;
case a:
System.out.println(":)");
break;
default:
IO.reportBadInput();
break;
}
}
}
【问题讨论】:
-
您的代码没有任何意义......您的第一组
if(s) 保证标签必须等于_userHappinessLevel
标签: java switch-statement