为了账号安全,请及时绑定邮箱和手机立即绑定

在switch语句的情况下如何使用&&运算符?

在switch语句的情况下如何使用&&运算符?

慕哥9229398 2023-03-23 13:46:51
&& 在开关的情况下如何使用?我想将此 if-else 转换为 switch-case。请帮帮我,我尝试了很多选项,但没有一个起作用。if( bpay <= 90000 &&  bpay >= 85000 ){System.out.println("You Job is General Manager");}if( bpay <= 84999 && bpay >= 75000 ){ System.out.println("Your Job is Manager" );}if ( bpay <= 74999 && bpay >= 65000 ){System.out.println("Your Job is Assistant Manager ");}if ( bpay <= 64999 && bpay >= 55000 ){System.out.println("Your Job is Accoutant");}if( bpay <= 54999 && bpay >= 40000 ){System.out.println("Your Job is Clerk");}if( bpay < 40000 )System.out.println("You Job is Security Incharge");
查看完整描述

4 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

这在 Java 中是不可能的。Switch 旨在识别独特的案例。

PS - 因为,你正在使用 android,试试 Kotlin。您可以使用 when 在 kotlin 中实现它(基本上是switch 但具有 superpowers)。例如:

when(bpay) {

  in 40000..55000 -> println("Your Job is Clerk")

  in 55000..65000 -> println("Your Job is Accoutant")

  //Similarly for the rest

}


查看完整回答
反对 回复 2023-03-23
?
Qyouu

TA贡献1786条经验 获得超11个赞

你不能。Java 语言不支持这一点。它可能适用于其他人,但不适用于这里。大小写必须是整数、字符串或枚举。它们不是布尔语句



查看完整回答
反对 回复 2023-03-23
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

如前所述,这是不可能的。而是使用if-else-if:


if ( bpay <= 90000 &&  bpay >= 85000 ) {

    System.out.println("You Job is General Manager");

} else if( bpay <= 84999 && bpay >= 75000 ) {

    System.out.println("Your Job is Manager" );

} else if ( bpay <= 74999 && bpay >= 65000 ) {

    System.out.println("Your Job is Assistant Manager ");

} else if ( bpay <= 64999 && bpay >= 55000 ) {

    System.out.println("Your Job is Accoutant");

} else if( bpay <= 54999 && bpay >= 40000 ) {

    System.out.println("Your Job is Clerk");

} else if( bpay < 40000 ) {

    System.out.println("You Job is Security Incharge");

}


查看完整回答
反对 回复 2023-03-23
?
精慕HU

TA贡献1845条经验 获得超8个赞

Switch-case 不适用于范围,而是适用于精确匹配或常量值。

所以,你不能把它转换成 switch-case,你必须在这里使用 if-else


查看完整回答
反对 回复 2023-03-23
  • 4 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信