【发布时间】:2020-06-27 01:05:56
【问题描述】:
想在 Java 中使用 switch 语句,但 switch 语句中的变量 (switch(variable)) 应该与 case 语句中的随机数 (case(randomNumber)) 进行比较。但我收到这样的错误消息:“case 表达式必须是常量表达式”。 那么我的案例陈述不适用于随机数吗?我认为错误消息意味着我必须在变量前加上“final”,但这也不起作用。 那么,if ... else 语句是唯一的方法吗?我希望我能很好地解释我的问题以便理解。 (我只是从 java 和编码附带的整个术语开始)
int number = 6; //some number between 0-9
int randomNumber1 = ((int)(Math.random() * 10));
int randomNumber2 = ((int)(Math.random() * 10));
int randomNumber3 = ((int)(Math.random() * 10));
switch(number)
{
case(randomNumber1):
//some code here
case(randomNumber2):
//some code here
case(randomNumber3):
//some code here
default:
//some code here
}
【问题讨论】:
-
我通过创建新变量并执行 case(variable) 对此进行了测试,但这甚至都不起作用,这令人惊讶。
-
考虑到 switch 语句的目标必须是常量,这并不奇怪。
标签: java switch-statement case-statement