
如图,显示语句错误,需要:,等等一系列报错,但是编写代码的时候也没有标红
关注引自免费微信小程序:皆我百晓生
根据您提供的信息,您的Java代码在尝试使用switch语句时遇到了一些语法错误。以下是针对这些错误的修复建议。
首先,让我们看下price方法中的switch语句,它包含了一些不正确的语法。Java 14及更高版本支持多值case,但在这个例子中,语法格式有误。多值case应该写成 case value1, value2, value3: 而不是 case value1, value2, value3 ->。同时,三目运算符(即条件运算符)也应用得不正确。下面是修改后的代码:
public static int price(int aRed, int aBlue) {
int ans = switch (aRed) {
case 0, 1, 2, 3 -> aBlue == 0 ? 0 : 5;
case 4 -> 200;
case 5 -> aBlue == 0 ? 200 : 3000;
case 6 -> aBlue == 0 ? 5000000 : 10000000;
default -> throw new IllegalStateException("Unexpected value: " + aRed);
};
return ans;
}
注意这里的更改:
case 0, 1, 2, 3 -> 更改为 case 0, 1, 2, 3:switch语句的每个case块都应以冒号(:)结束。case 5 和 case 6,将三目运算符的格式调整为标准形式,即 (condition) ? true-expression : false-expression。这应该解决编译错误并使代码正常工作。确保您的Java环境支持多值case,否则您可能需要将多值case拆分为多个单个case。
如果您仍然遇到问题,请检查整个项目是否存在其他语法错误,或者提供更多信息以便进一步分析。