如何根据重要成分搜索配方? Java Android

编程入门 行业动态 更新时间:2024-10-28 12:28:16
本文介绍了如何根据重要成分搜索配方? Java Android的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我想搜索与购物清单项目匹配的食谱,它会根据香蕉奶昔{牛奶和香蕉}中最重要的成分向用户建议食谱,如果我可以单独使用香蕉奶昔{糖和香草}的话,在购物清单上添加{banana,milk}之类的商品,它将根据这些成分而不是{banana,milk,糖和香草}搜索食谱 例如:

I want to search recipe which match with shopping list items and it will suggest recipe to user based on most important ingredients like in Banana MilkShake {milk and banana} could make banana milkshake alone {sugar and vanilla} are optional,if I add items on shopping list like {banana,milk} it will search recipe on the basis of these ingredients rather {banana,milk,sugar and vanilla} for example:

Banana Milk Shake Ingredients: **Ingredient Name 1.banana (important) 2.milk (important) 3.vanilla (optional/not important) 4.sugar (optional/not important) **Shopping List**

  • 香蕉
  • 牛奶
  • 鸡蛋
  • 米饭
    • banana
    • milk
    • egg
    • rice
    • 我们还可以制作不含糖和香草的香蕉奶昔,因此重要的成分将是牛奶和香蕉.

      We could also make Banana Milkshake without sugar and vanilla so important ingredients will be milk and banana.

      public class Ingredient implements Serializable{ private String name; private String quantity; public Ingredient(){ } public Ingredient(String name,String quantity){ this.name=name; this.quantity=quantity; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return name; } public String getQuantity() { return quantity; } public void setQuantity(String quantity) { this.quantity = quantity; } }

      和我的工作代码:

      public Set<Recipe> searchByIngredient(List<ShoppingList> shop, List<Recipe> list) { int matchedItems = 0; Set<Recipe> result = new HashSet<Recipe>(); for (Recipe rn : list) { boolean recipeMatched = false; for (ShoppingList r : shop) { for (int i = 0; i < rn.getIngre().size(); i++) { if (rn.getIng(i).contains(r.getName())) { matchedItems++; int temp = matchedItems; if(temp >= 2){ result.add(rn); recipeMatched = true; } } if (recipeMatched) break; } if (recipeMatched) break; } matchedItems = 0; } return result; } public class Recipe implements Serializable{ private String instructions; private String recName; private String image; private List<Ingredient> ing = new ArrayList<Ingredient>(); public Recipe(){ } public Recipe(String item,String quan){ this.ing.add(new Ingredient(item, quan)); } public List<Ingredient> getIngre(){ return ing; } public String getIng(int i){ return ing.get(i).toString(); } public void setIngredients(List<Ingredient> item){ this.ing = item; } public String getRecName() { return recName; } public void setRecName(String recName) { this.recName = recName; } // @Override public String toString() { return recName; } public String getInstructions() { return instructions; } public void setInstructions(String instructions) { this.instructions = instructions; } public String getImage() { return image; } public void setImage(String image) { this.image = image; } }

      推荐答案

      根据您的评论.您可以向您的成分类添加另一个变量.像这样:

      Based on your comments. You could add another variable to your Ingredient class. Like this:

      public class Ingredient implements Serializable{ private String name; private String quantity; private boolean isImportant; public Ingredient(){ } public Ingredient(String name,String quantity){ this.name=name; this.quantity=quantity; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return name; } public String getQuantity() { return quantity; } public void setQuantity(String quantity) { this.quantity = quantity; } public boolean getIsImportant() { return isImportant; } public void setIsImportant(boolean isImportant) { this.isImportant= isImportant; } }

      然后,您可以检查食谱中是否存在所有重要成分.

      Then you could check in the recipe if all the important ingredients are present or not.

更多推荐

如何根据重要成分搜索配方? Java Android

本文发布于:2023-10-17 02:44:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1499536.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:配方   成分   Android   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!