如何将这个if语句转换为switch语句,考虑到我在这里使用了两个变量,我试图解决它而不能正常工作
int child;
char gender;
int temp;
child=console.nextInt();
gender=console.next().charat(0);
if(gender=='m' && children>=4)
temp =1;
else if(gender=='m' && children<4)
temp =2;
else if(gender=='f' && children<4)
temp =3;
else
temp=4;
}
这是我的代码
int children;
double temp;
char gender;
children=console.nextInt();
switch(children , gender )
{
case < 4, 'm':
temp=1;
break;
default : salary=600;
}
答案 0 :(得分:2)
首先应该看看The switch Statement
switch语句基本上是针对每个案例评估一个条件。您可以使用直通条件,但这是很多其他代码。
例如,像......
switch (gender) {
case 'm':
temp = 0;
if (children >= 4) {
temp += 1;
} else {
temp += 2;
}
break;
case 'f':
temp = 2;
if (children >= 4) {
temp += 2;
} else {
temp += 1;
}
break;
}
会生成与if
语句相同的结果
如果您更喜欢使用纯switch
语句,则可以执行类似......
switch (gender) {
case 'm':
temp = 0;
switch (children) {
case 0:
case 1:
case 2:
case 3:
temp += 2;
break;
default:
temp += 1;
}
break;
case 'f':
temp = 2;
switch (children) {
case 0:
case 1:
case 2:
case 3:
temp += 1;
break;
default:
temp += 2;
}
break;
}
Java的switch语句不支持范围:(
答案 1 :(得分:1)
开关(性别){
unsigned long long
}