Quantcast
Channel: 質問!ITmedia 新着質問(Java/253)
Viewing all articles
Browse latest Browse all 2439

Arraylistを使用し売上集計のコード作成

$
0
0
プログラミング課題で質問です。 売上集計でCSVからデータを読み込み 支店データ 000,沖縄 001,北海道 というデータファイルと 商品データ SE001,テレビ SE002,レンジ というデータファイル 売上データ”.rcd”拡張子ファイル 支店:001 商品:SE001 売上金額:29800 というデータが入っているファイル この3つのファイルをArraylistを使用し作成しています 最後は支店ごとの売上金額と商品ごとの売上金額を 集計しなければなりません。 理想では売上データファイルと商品データファイルの3項目に売上金額の項目を追加する ように作成したいです。 初心者でわかりにくい説明だとは思うのですが ご指導ください。 いきずまってしまって進めません。 考え方などもまだまだなので一応今できているコードを記載します 途中までですが。。。。。。。 解説などで教えてもらいたいです。 *********************************public class UriageSyukei { public static void main (String[] args) { //指定されたディレクトリ File directory = new File(args[0]); /* * 1.支店定義ファイル * */ File branchFile = new File(directory + "\\branch.lst"); //変数を宣言 FileInputStream fis = null; InputStreamReader isr = null; BufferedReader br = null; ArrayList> branchData = new ArrayList>(); //支店定義ファイル処理 try { if (!branchFile.exists()) { System.out.println("支店定義ファイルが存在しません"); return; } fis = new FileInputStream(branchFile); isr = new InputStreamReader(fis); br = new BufferedReader(isr); String line ; while ((line = br.readLine()) != null) { List branch = line.split(","); //配列の長さ if (branch.length != 2 || branch[0] == null || branch[1] == null) { System.out.println("支店定義ファイルのフォーマットが不正です"); return; } branchData.add(branch); } /* * 2.商品定義ファイル */ File commodityFile = new File(directory + "\\commodity.lst"); ArrayList commodityData = new ArrayList(); //商品定義ファイルの処理 if (!commodityFile.exists()) { System.out.println("商品定義ファイルが存在しません"); return; } fis = new FileInputStream(commodityFile); isr = new InputStreamReader(fis); br = new BufferedReader(isr); while ((line = br.readLine()) != null) { String[] commodity = line.split(","); //配列の長さ if (commodity.length != 2 || commodity[0] == null || commodity[1] == null) { System.out.println("商品定義ファイルのフォーマットが不正です"); return; } commodityData.add(commodity); } /* * 3.集計 */ //.rcdに該当する拡張子を検索 ArrayList salesData = new ArrayList(); String[] salesFiles = directory.list(); for (String salesFile : salesFiles) { if (!salesFile.endsWith(".rcd")) { continue; } File rcdFile = new File(directory + "\\" + salesFile); fis = new FileInputStream(rcdFile); isr = new InputStreamReader(fis); br = new BufferedReader(isr); String salesBranch = br.readLine(); String salesCommodity = br.readLine(); String price = br.readLine(); *************************************** できているのはここまでです。 途中修正などたくさんあると思いますが これを元に作成していきたいので教えてください よろしくお願いします。

Viewing all articles
Browse latest Browse all 2439

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>