我想在这里做的是从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);
提前谢谢!
答案 0 :(得分:0)
当我正确地解释它你不需要总和但你可以做items += input.nextInt()*shoppinglist.get(key);
这将为您提供所有项目的总和;)
如果你愿意,也可以用sum替换项目,但这应该是明确的...
请注意,你肯定应该使用try catch,因为用户是邪恶的。
编辑:你需要用0
初始化你的变量