以下のデータを CSV ファイルから読み取りました。
Pedro|groceries|apple|1.42
Nitin|tobacco|cigarettes|15.00
Susie|groceries|cereal|5.50
Susie|groceries|milk|4.75
Susie|tobacco|cigarettes|15.00
Susie|fuel|gasoline|44.90
Pedro|fuel|propane|9.60
各顧客の費用を次のようにグループ化したかった
ペドロの費用:
食料品 - 1.42 燃料 - 9.62
また、次のように各顧客の費用の合計をグループ化したいと思いました
各顧客の合計費用は次のとおりです。
ペドロ - (1.42 + 9.60) ニチン - 15.00 スージー - (5.50 + 4.75 + 15.00 + 44.90)
要素をグループ化し、それらの値を合計する方法を教えてください。
ファイルを読み取って個別の値を出力できます。各グループ メンバーの費用をマッピングしました。しかし、それらの値を合計する方法がわからない
誰かが私を助けることができますか?
これは私のコードです。これは間違っていると確信しています
static String[] inputArray ;
public static void main(String[] args) throws IOException {
groceryReport gr = new groceryReport();
try {
gr.readFile();
System.out.println(gr.customerPurchase(inputArray).toString());
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
}
@SuppressWarnings("null")
private void readFile() throws IOException {
BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\....\\grocery.csv"));
String input= "";
try{
System.out.println("The total revenue for each customer is:");
while((input = br.readLine()) != null )
{
inputArray= input.split("\\|");
}
}
catch(Exception e){
e.printStackTrace();
}
finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public String customerPurchase(String[] inputArray){
String sum = "" ; float sum1=0; float sum2 = 0;
ArrayList<String[]> alist = new ArrayList<String[]>();
alist.add(inputArray);
String value = "";
System.out.println(alist);
Map<String, String> map = new HashMap<String, String>();
map.put(inputArray[0], inputArray[3]);
System.out.println(map.get(inputArray));
Iterator ite = map.entrySet().iterator();
while (ite.equals("Susie"))
ite.next();
value = map.get("Susie");
sum = sum+ value;
return sum;
}