如何使用带有乘法的HashMap中的值

时间:2018-02-18 21:37:47

标签: java hashmap

我想在这里做的是从HashMap中获取值并将它们与用户的输入相乘,以便我可以计算出x量y的成本。

该类有一个main方法,所以我想从这个类本身运行所有东西。

LinkedHashMap<String,Integer> shoppinglist = new LinkedHashMap<>();
int items;
int sum = 0;
Scanner input = new Scanner(System.in);

Set<String> keys = shoppinglist.keySet();
Collection<Integer> val = shoppinglist.values();

shoppinglist.put("bread",20);
shoppinglist.put("milk",15);
shoppinglist.put("cheese",40);
shoppinglist.put("apple",12);

System.out.println("Hello! Welcome to my store!");

for (String key : keys) {
  System.out.printf("How many %s do you want?\n",key);
  items = input.nextInt();
  // HERE IS WHERE I DON´T KNOW WHAT TO DO.
  // I want to multiply items with values of each key
  // Then use sum to get the total amount for all of the items
}
System.out.printf("The total amount of your items are %d\n",sum);

提前谢谢!

1 个答案:

答案 0 :(得分:0)

当我正确地解释它你不需要总和但你可以做items += input.nextInt()*shoppinglist.get(key); 这将为您提供所有项目的总和;) 如果你愿意,也可以用sum替换项目,但这应该是明确的... 请注意,你肯定应该使用try catch,因为用户是邪恶的。

编辑:你需要用0

初始化你的变量