0

以下のデータを 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;


}
4

2 に答える 2

0

オブジェクト指向言語では、特定のデータをグループ化したい場合、クラスを使用してこれを実現します。これは宿題だと思いますので、詳細をお伝えすることはできません。しかし、必要な情報のフィールドを含む person クラスが必要です。そこから、メソッドを実装して、必要なものを正確に出力できますか?

于 2013-11-06T02:30:36.497 に答える