我觉得老师这个菜品查询代码是不是有些问题

来源:2-7 显示菜品(难点)

Mitsushima_Hikari

2021-05-10 09:30:43

老师用的是

if (food.getPrice() < mPrice &&
(food.isHot() == mIsHot || food.isFish() == mIsFish || food.isSour() == mIsSour)
)

问题就在于如果使用短路或来判断的话,如果三个CheckBox都不选呢,只要其中一个条件满足,这个if判断同样成立,那这里这个判断语句就毫无意义了,也就是说,我不选择任何一个口味,只是拖动seekbar进度条同样可以查询到菜品,我觉得这样很不合理

写回答

1回答

LovelyChubby

2021-05-10

如果三个CheckBox都不选。

那么下面这个表达式的结果就是:false

(food.isHot() == mIsHot || food.isFish() == mIsFish || food.isSour() == mIsSour)

那么判断语句可以简化成下面

if (food.getPrice() < mPrice && false)

此时 if判断无论如何都是不成立的啊

0
hovelyChubby
回复
hitsushima_Hikari
hp>改成下面这样呢

(food.isHot() && mIsHot || food.isFish() && mIsFish || food.isSour() && mIsSour)


h021-05-12
共3条回复

0 学习 · 2907 问题

查看课程