0
我在一个文件中有一些购物商品,由“|”分隔。操作地图内的地图
Adam|grocery|veggies|100.00
John|fuel|gasoline|42.60
John|grocery|veggies|20.00
销售税是8.75%。
- 查找每个客户的总收入。
- 对于每个客户,都会发现有多少支出去了哪个类别。
- 显示每个调查结果的销售税。
输出:
Total Revenue:
Adam - $100.00
John - $62.60
Tax - 14.22
Shopping by Adam:
Grocery - $100.00
Tax - $8.75
Shopping by John:
Fuel - 44.60
Grocery - 20.00
Tax - $5.47
我阅读下面的代码的文件,然后用String
创建HashMap
为重点(以节省客户的名字)和值作为另一个HashMap
(保存类别(名称类别作为关键和价格作为价值))
package test;
import java.io.*;
import java.util.*;
public class GroceryStore {
public static void main(String[] args) {
try {
File inFile = new File("/Users/customers.txt");
Scanner scan = new Scanner(inFile);
String lines = "";
Map<String, HashMap<String, Double>> map = new HashMap<String, HashMap<String, Double>>();
while (scan.hasNextLine()) {
lines = scan.nextLine();
String[] wordSplit = lines.split("\\|");
HashMap<String, Double> category = new HashMap<String, Double>();
category.put(wordSplit[1], Double.parseDouble(wordSplit[3]));
map.put(wordSplit[0], category);
}
System.out.println("Total revenue by customer: ");
for (Map.Entry<String, HashMap<String, Double>> entry : map.entrySet()) {
System.out.println(entry.getKey() + " - " + entry.getValue());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
但它不工作的方式,我想和不能继续。 在while
循环的最后一步,当使用map.put
时。这是用新购买取代该人购买的以前的条目。但我想要跟踪该人的所有购买条目。那么我们应该能够显示总产出和分类产出。
任何人都可以帮助这个,你可能有不同的方法?
这听起来像一个作业问题 – smang 2014-08-27 22:00:16
“它不工作” - 它怎么不工作?怎么了?怎么回事? – 2014-08-27 22:01:45
此外 - 你会更好地发布全班,因为你提供了由于缺少大括号而具有各种语法错误。 – 2014-08-27 22:07:33