如何编写无if语句判断三个整数是否相等的Java方法?
不用if语句比较三个整数的实现方案
你遇到的case表达式必须为常量错误,本质是Java语法限制:switch的case分支只能使用编译期可确定值的常量(比如字面量、final修饰的静态常量),而你代码里的n2、n3是方法参数,属于运行时才会赋值的变量,不符合case的要求。
要实现无需if语句判断n1是否等于n2或n3,直接用逻辑表达式返回结果即可,写法简洁且符合要求:
public boolean multipleValue(int n1, int n2, int n3) { return n1 == n2 || n1 == n3; }
这种方式直接通过相等运算符和逻辑或运算完成判断,完全不需要if或switch语句,同时避免了switch的语法限制。
内容的提问来源于stack exchange,提问作者Sơn Trần
相关产品推荐
相关产品推荐

