老师的这段逻辑是不是有问题???
来源: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);
}

牛肉面也算海鲜?初始化数据里面是false啊
6回答
逻辑的问题,没有对错之分。只有合适和不合适。例如3,5好友一起去聚餐。如果菜品,要符合每个人的口味,只要有一个人不符合,就不能点这个菜的话,那岂不是也太难了嘛,所以说用||也没有问题呀。那如果是你一人用餐,&&更合适。所以逻辑,要根据面向客户需求。祝:学习愉快
mailes
2020-02-25
这个 正常来讲 应该用且。可能老师为了想多显示点内容。
小张一号
2020-02-23
不要活在抱怨里
志强1995
提问者
2020-02-23
所以老师只顾着自己讲课,什么都不说,让学生去猜,真是日了狗
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);
}
}
好帮手慕雪
2020-02-19
哎,因为源数据较少,为了多显示一些,所以口味用的是或|| 的关系。如果同学的源数据较多,可以改为并且&的关系。如果解决了你的疑惑,请采纳,祝学习愉快~
相似问题