三目运算符多重嵌套问题

简单的三目运算大家应该都会用。但是嵌套三目就用得比较少了。。。
现在非常喜欢用这个来简化代码,那些冗长的if,if-else语句。有木有很烦人。
典型的应用目前有两个实例:
1.去买奶茶,第一杯全价,第二杯半价,第三杯免费。
输入你要买几杯?
是不是要
if(cup<=3){ .... } if(cup>=3){ if(cup%3==0){ .... } if(cup%3==1){ .... }
有木有很烦。然后只要一行;
double count = price*(cup/3*1.5+cup%3==1?1:0+(cup%3==2?1:0)*1.5);有木有很简单,有人说不好理解。看多了看懂了看透了就理解了。那些逻辑套的人晕。
2.输入三个数a,b,c,对它们进行排序?
此时用定义max,mid,min方法。
则有
int max = a>b?(a>c?a:c):(b>c?b:c); int min = a<b?(a<c?a:c):(b>c?c:b); int mid = a>b?(b>c?b:(a>c?c:a)):(a>c?a:(b>c?c:b));
三行找到。if-else我算了一下,25行。
注,嵌套里的三目要记得括号起来
人生苦短。



本文作者:起点终站
文章标题: 三目运算符多重嵌套问题
本文地址:https://blog.hellozwh.com/?post=296
版权声明:若无注明,本文皆为“起点终站”原创,转载请保留文章出处。
本文地址:https://blog.hellozwh.com/?post=296
版权声明:若无注明,本文皆为“起点终站”原创,转载请保留文章出处。

