当i
小于5时,我想使用相同的case语句。但它不起作用。给我一个incompatible types: boolean cannot be converted to int
class temp{
public static void main(String args[]){
int i=1;
switch(i){
case i < 5 :
System.out.println("Works");
}
}
}
请帮我解决这个问题。
答案 0 :(得分:1)
您无法为case
使用布尔值。声明i < 5
会返回True
或False
。您应该使用if
代替。
class temp{
public static void main(String args){
int i=1;
if (i < 5)
System.out.println("Works");
}
}
答案 1 :(得分:1)
case i < 5 It produce boolean result. which is not compatible with integer
如果您想比较多个条件,请使用switch case。
switch(i){
case 1 :
case 2 :
case 3 :
case 4 : System.out.println("Works");
break;
}
在您的代码中,您只处理一个条件,因此请使用if
条件而不是switch
。
public static void main(String args){
int i=1;
if(i < 5)
System.out.println("Works");
}
答案 2 :(得分:0)
您不能在case
中使用条件语句,它们只能有常量
你可以这样写
case 5:
或
case 6:
特别是,因此case <5
根据语法
答案 3 :(得分:0)
您想要的不是switch-case
块,它用作特定值的查找表。你想要一个if-then-else
块:
if(i<5)
{
\\do stuff
}
else if(\* Some other condition *\)
{
\\ do other stuff
}
else
{
\\ default case
}