老师的这段逻辑是不是有问题???

来源:2-6 查询菜品(难点)

志强1995

2020-02-19 18:53:34

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

                    mFoodResult.add(food);

                }


http://img.mukewang.com/climg/5e4d138709f29bd505620951.jpg

牛肉面也算海鲜?初始化数据里面是false啊

写回答

6回答

好帮手慕雪

2020-02-24

逻辑的问题,没有对错之分。只有合适和不合适。例如3,5好友一起去聚餐。如果菜品,要符合每个人的口味,只要有一个人不符合,就不能点这个菜的话,那岂不是也太难了嘛,所以说用||也没有问题呀。那如果是你一人用餐,&&更合适。所以逻辑,要根据面向客户需求。祝:学习愉快

0

mailes

2020-02-25

这个 正常来讲 应该用且。可能老师为了想多显示点内容。


0

小张一号

2020-02-23

不要活在抱怨里

0

志强1995

提问者

2020-02-23

所以老师只顾着自己讲课,什么都不说,让学生去猜,真是日了狗

0

T嘉

2020-02-23

害! 数据少?老师没说明是因为数据少啊。且这段逻辑错的有点离谱了。

当用户没选中酸 或 辣 或 海鲜 时 默认是false 菜品列表中不是该类型的菜也时false  。

 false == false 就等于ture 所以就不时其他菜品都加进去了

if(food.getPrice() <= mPrice){

   if( 

             (mIsHot && food.isHot() == mIsHot ) ||

             (mIsFish && food.isFish() == mIsFish ) ||

             (sourFish && food.isSour() == sourFish )

          ){

      mFoodResult.add(food);

    }


0

好帮手慕雪

2020-02-19

哎,因为源数据较少,为了多显示一些,所以口味用的是或|| 的关系。如果同学的源数据较多,可以改为并且&的关系。如果解决了你的疑惑,请采纳,祝学习愉快~ 

0

0 学习 · 2907 问题

查看课程