JAVA初心者です。
CSVデータ、10行、5列の最終行のみ数字データのものを
データクラス(About_book)に追加して表示させたいのですが、
for文で入るものは入るのが、入らないものはなぜか
入らないといった状況です。
その後、カプセル化を行いたいと思っております。
java public class Kad { public static void main(String[] args) { //インスタンスメソッド作成 Kad getbookInfo = new Kad(); List<String[]> input = getbookInfo.input_Data(); Kad readBook = new Kad(); List<String> outputData = new ArrayList<String>(); outputData = readBook.outputData(input); Kad displayData = new Kad(); displayData.displayBook(outputData); } private List<String[]> input_Data () { BufferedReader br = null ; String line = null ; List<String[]> input = new ArrayList<String[]>(); try{ InputStreamReader ORS = new InputStreamReader(new FileInputStream(CSV_TITLE), ENCODING); br = new BufferedReader(ORS); while((line = br.readLine()) != null ) { input.add(line.split(","+"\t",-1)); } return input ; } catch (FileNotFoundException e) { System.out.println(NOT_FOUND) ; } catch (IOException e) { System.out.println(IO_ERROR); } catch (Exception e) { System.out.println(ERROR); } finally { try { br.close(); } catch (Exception e) { System.out.println(ERROR); } } return null; } public List<String> outputData (List<String[]> input) { List<String> inputDataList = new ArrayList<String>(); for (String[] line_data : input) { for (int i =0 ; i < line_data.length ; i++) { inputDataList.add(line_data[i]); } } return inputDataList ; } private List<About_book> displayBook(List<String> outputDataList) { List<About_book> inputBookInfo = new ArrayList<About_book>(); for(String OutPut : outputDataList) { String [] input = OutPut.split(","); About_book about_book = new About_book(); for (int i = 0 ; i < input.length ; i++) { if (i == 0) { about_book.setTitle(BRACKET+input[i]+BRACKET_CLOSING); } if (i == 1) { about_book.setName(BRACKET+input[i]+BRACKET_CLOSING); } if (i == 2) { about_book.setStart(BRACKET+input[i]+BRACKET_CLOSING); } if (i == 3) { about_book.setEnd(BRACKET+input[i]+BRACKET_CLOSING); } if (i == 4 ) { about_book.setPrice(Integer.parseInt(input[i])); } inputBookInfo.add(new About_book()); } about_book.showBook(); } return inputBookInfo; } } class About_book { public String title; public String getTitle() { return this.title; } public void setTitle (String title) { this.title = title; } public String name; public String getName() { return this.name; } public void setName (String name) { this.name = name ; } public String start; public String getStart() { return this.start; } public void setStart (String start) { this.title = start; } public String end; public String getEnd() { return this.end; } public void setEnd (String end) { this.title = end; } public int price; public int getPrice() { return this.price; } public void setPrice(int price) { this.price = price ; } public void showBook() { System.out.println("題名:"+title+"、著者:"+name+"、販売開始:"+ start+ "、販売終了:" + end); } public void showPrice() { System.out.println(price); } } コード
回答3件
あなたの回答
tips
プレビュー