前提・実現したいこと
以下の参考資料に記載されているコードを元に
Javaのオブジェクト指向で書かれたプログラムで
csvファイルを読み込み形式を変更した上で新たなcsvファイルを
書き出そうとしています。
発生している問題・エラーメッセージ
2つの問題に直面しています。
①Eclipseで実行しているのですが、どこのフォルダに入力するcsvファイルを
おけばいいのかわからない
②以下のエラーが表示されており、それぞれどのように
修正すればよいのか分かりません。
Testクラス(12行目)
新規クラス・ウィザードを開いて型を作成します。 パッケージ: (デフォルト・パッケージ) public class PrintWrite extends PrintWriter { }
Testクラス(15行目、19行目、43行目)
line = InputLine.readLine(); //ヘッダを読み込む outputLine.println(line); //ヘッダを書き込む ... //1行ずつ読み込み while((line = InputLine.readLine()) ! = null) { //String変数 lineに格納 StringTokenizer st = new StringTokenizer(line); //lineを分 割の対象にする ... //開いていた出入力ファイルを閉じる InputLine.close(); outputLine.close();
Testクラス(25,36行目)
メソッド setNumber(int) は型 Car で未定義です
該当のソースコード
コードは全て参考資料の通りです。
Testクラス
Java
1import java.io.*; //Java.ioパッケージ 2import java.util.*;//Java.utilパッケージ 3 4public class Test { 5 public static void main(String[] args) { 6 List<Car> carList = new ArrayList<Car>(); //データ格納用リスト 7 String input = "carSample.csv";//String型でファイル名を指定する 8 String output = "copy.csv"; 9 10 try { 11 BufferedReader InputLine = new BufferedReader(new FileReader(input)); 12 PrintWriter outputLine = new PrintWrite(new FileWriter(output)); 13 String line; 14 15 line = inputLine.readLine(); //ヘッダを読み込む 16 outputLine.println(line); //ヘッダを書き込む 17 18 //1行ずつ読み込み 19 while((line = inputLine.readLine()) ! = null) { //String変数lineに格納 20 StringTokenizer st = new StringTokenizer(line); //lineを分割の対象にする 21 22 Car car = new Car(); //Carクラスのインスタンスを作成 23 //フィールドの設定を行う 24 //String型をInteger型に変更 25 car.setNumber(Integer.parseInt(st.nextToken(","))); 26 car.setLength(Integer.parseInt(st.nextToken(","))); 27 car.setWidth(Integer.parseInt(st.nextToken(","))); 28 car.setHight(Integer.parseInt(st.nextToken(","))); 29 car.setDisplacement(Integer.parseInt(st.nextToken(","))); 30 31 carList.add(car); //リストに追加する 32 } 33 34 //carListの中身を順に出力する 35 for(Car car : carList) { 36 outputLine.print(car.getNumber() + ","); 37 outputLine.print(car.getLength() + ","); 38 outputLine.print(car.getWidth() + ","); 39 outputLine.print(car.getHight() + ","); 40 outputLine.print(car.getDisplacemet()); 41 } 42 //開いていた出入力ファイルを閉じる 43 inputLine.close(); 44 outputLine.close(); 45 }catch(IOException e) { 46 System.out.println("ファイルが開けません"); 47 } 48 49} 50 51} 52
Carクラス
Java
1public class Car { 2 //フィールド 3 //メンバはprivate, メソッドはpublic 4 private int length; 5 private int width; 6 private int hight; 7 private int displacement; 8 9 //メンバにはgetter, setterメソッドでアクセスする 10 public int getLength() { 11 return length; 12 } 13 public void setLength(int length) { 14 this.length = length; 15 } 16 public int getWidth() { 17 return width; 18 } 19 public void setWidth(int width) { 20 this.width = width; 21 } 22 public int getHight() { 23 return hight; 24 } 25 public void setHight(int hight) { 26 this.hight = hight; 27 } 28 public int getDisplacemet() { 29 return displacement; 30 } 31 public void setDisplacement(int displacement) { 32 this .displacement = displacement; 33 } 34 35} 36
補足情報(FW/ツールのバージョンなど)
Eclipse Java EE IDE for Web Developers.
Version: Oxygen.3a Release (4.7.3a)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/05/23 01:20