使用条件(三元)运算符计算电费的Java代码?

使用条件(三元)运算符计算电费的Java代码?,java,conditional-operator,ternary,Java,Conditional Operator,Ternary,这是价格 0-20 units = 80 21-30 units = 2 31-40 units = 3 41-50 units = 5 51 or above = per unit 10 请帮帮我,我想不出怎么解决这个问题 我可以用if-else语句来实现,但如何使用三元运算符呢?我的老师让我用三元运算符来实现这一点。更新:最好的方法是在java不支持带范围的开关盒时使用else 例如 int单位=0; 如果(单位0){ //做手术 }否则,如果(第20单元){ //做手术 }el

这是价格

0-20 units = 80 

21-30 units = 2

31-40 units = 3

41-50 units = 5

51 or above = per unit 10
请帮帮我,我想不出怎么解决这个问题


我可以用if-else语句来实现,但如何使用三元运算符呢?我的老师让我用三元运算符来实现这一点。

更新:最好的方法是在java不支持带范围的开关盒时使用else 例如

int单位=0;
如果(单位0){
//做手术
}否则,如果(第20单元){
//做手术
}else if(单元30){
//做手术
}否则,如果(第40单元){
//做手术
}否则{
//做手术
}

可能有一些十年:

units < 21 ? 80 : units < 31 ? 2 : units < 41 ? 3 : units < 51 ? 5 : units * 10
单位<21?80:单位<31?2:单位<41?3:单位<51?5:单位*10
但这真的很难看。

试试这个

if (units =< 20){
    rate = 80;
} else if(units =< 30){
    rate = 2;
} else if(units =< 40){
    rate = 3;
} else if(units =< 50){
    rate = 5;
} else {
    rate = 10;
}
if(单位=<20){
比率=80;
}否则如果(单位=<30){
比率=2;
}否则如果(单位=<40){
比率=3;
}否则如果(单位=<50){
比率=5;
}否则{
比率=10;
}
如果我正确地理解了这个问题,那么这将起作用,如果这不是你想要的,请让我知道,我可以改变这一点

使用三元运算符更新代码

rate = (units <= 20) ? 80 : (units <= 30) ? 2 : (units <= 40) ? 3 : (units <= 50) ? 5 : 10;

rate=(units您必须添加嵌套的ternaries。这意味着您的代码应该如下所示:

        int rate = (units >= 0 && units <= 20) ? 80 : (units >=21 && units <= 30) ? 2 : (units >=31 && units <= 40) ? 3 : (units >= 41 && units <=50) ? 5 : 10

int rate=(units>=0&&units=21&&units=31&&units=41&&units if或case语句…您尝试了什么?而且,对我来说,这似乎不是一个适合三元数的地方(因为我相信您通常会将使用量计算为基数加上一些乘数)。您应该发布一些代码,说明您尝试了什么,以及您遇到了什么困难。Groovy可以在switch语句中执行范围,而不是Java。是的,您想提高答案的质量
        int rate = (units >= 0 && units <= 20) ? 80 : (units >=21 && units <= 30) ? 2 : (units >=31 && units <= 40) ? 3 : (units >= 41 && units <=50) ? 5 : 10