大家好,我目前有一份刚完成的作业,但是他们是我不喜欢的一个细节。有没有一种方法可以缩短if else循环
目前我已经写过
if (x >=300) {
set y = 1;
}
else if(x >=200) {
set y = 2;
}
else if (x >=150) {
set y = 3;
}
else if (x>=100) {
set y = 4;
}
else if (x >=50) {
set y = 5;
}
else if (x >=25) {
set y = 6;
}
也许我只是在做书,谢谢您
答案 0 :(得分:0)
您可以将其缩短为
y = x>=300 ? 1 : x>=200 ? 2 : x>=150 ? 3 : x>=100 ? 4 : x>=50 ? 5 : 6;
但是虽然它可能更紧凑,但是从主观上讲它的可读性也较低。有关其他信息,请参见here。
答案 1 :(得分:0)
这看起来像是您可以使用switch语句的地方。但是,switch语句旨在处理已知值而不是不等式。如果您不喜欢if-else语句链的外观,则可以在一个内联表达式(三元运算符)中完成所有操作,但这很难阅读。
除非有充分的理由进行更改,否则我会说按原样保留代码。如果每个语句之后只包含一个代码语句,则可以消除大括号{},使代码看起来更简洁:
if (x >= 300) set y = 1;
else if (x >= 200) set y = 2;
else if (x >= 150) set y = 3;
else if (x >= 100) set y = 4;
else if (x >= 50) set y = 5;
else if (x >= 25) set y = 6;