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