質問編集履歴
1
コード内容、質問内容を少し変更しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
javaを使ってcsvファイルからデータを読み込
|
1
|
+
javaを使ってcsvファイルからデータを読み込めない
|
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
public static void main(String[] args) {
|
10
10
|
|
11
|
-
readData rd = new readData
|
11
|
+
readData[] rd = new readData[6];
|
12
12
|
|
13
13
|
readDataBook rdbook = new readDataBook();
|
14
14
|
|
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
public class readAndWrite {
|
52
52
|
|
53
|
-
public void read(readData rd, readDataBook rdbook) {
|
53
|
+
public void read(readData[] rd, readDataBook rdbook) {
|
54
54
|
|
55
55
|
try(FileReader fr = new FileReader("data.csv")) {
|
56
56
|
|
@@ -70,19 +70,19 @@
|
|
70
70
|
|
71
71
|
data = line.split(",");
|
72
72
|
|
73
|
-
rd.setReadDataName(data[0]);
|
73
|
+
rd[i].setReadDataName(data[0]);
|
74
|
-
|
74
|
+
|
75
|
-
rd.setReadDataJapanese(data[1]);
|
75
|
+
rd[i].setReadDataJapanese(data[1]);
|
76
|
-
|
76
|
+
|
77
|
-
rd.setReadDataMath(data[2]);
|
77
|
+
rd[i].setReadDataMath(data[2]);
|
78
|
-
|
78
|
+
|
79
|
-
rd.setReadDataEnglish(data[3]);
|
79
|
+
rd[i].setReadDataEnglish(data[3]);
|
80
|
-
|
80
|
+
|
81
|
-
rd.setReadDataScience(data[4]);
|
81
|
+
rd[i].setReadDataScience(data[4]);
|
82
|
-
|
82
|
+
|
83
|
-
rd.setReadDataSocial(data[5]);
|
83
|
+
rd[i].setReadDataSocial(data[5]);
|
84
|
-
|
84
|
+
|
85
|
-
rdbook.addReadDataBook(rd);
|
85
|
+
rdbook.addReadDataBook(rd[i]);
|
86
86
|
|
87
87
|
line = reader.readLine();
|
88
88
|
|
@@ -154,6 +154,8 @@
|
|
154
154
|
|
155
155
|
|
156
156
|
|
157
|
+
|
158
|
+
|
157
159
|
```
|
158
160
|
|
159
161
|
```java
|
@@ -542,12 +544,24 @@
|
|
542
544
|
|
543
545
|
```
|
544
546
|
|
547
|
+
|
548
|
+
|
549
|
+
### やりたいこと
|
550
|
+
|
551
|
+
csvファイルから6人分のデータを読み込み、readDataクラスのフィールドに値を代入したのちに、readDataBookクラスの配列に格納したいです。
|
552
|
+
|
553
|
+
|
554
|
+
|
545
555
|
### 起きている問題
|
546
556
|
|
557
|
+
masaki,86,75,94,73,83
|
558
|
+
|
559
|
+
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "readData.readData.setReadDataName(String)" because "<parameter1>[<local5>]" is null
|
560
|
+
|
561
|
+
at readAndWrite.read(readAndWrite.java:17)
|
562
|
+
|
563
|
+
at Main.main(Main.java:9)
|
564
|
+
|
565
|
+
|
566
|
+
|
547
|
-
|
567
|
+
一人目のデータはおそらく格納できているかと思うのですが、2行目のデータ読み込みのところでStringがnullだと言われています。何が原因でしょうか?
|
548
|
-
|
549
|
-
### 試したこと
|
550
|
-
|
551
|
-
Main.javaのreadData rdをreadData[6]型配列にして、readDataインスタンスを6個作ってそれぞれにcsvファイルの結果を代入し、それらのインスタンスをreadDataBookにまとめるプログラムも書いた。
|
552
|
-
|
553
|
-
しかしこちらのコードはインスタンスを6個作る必要性について納得できず、例外処理も発生したためやめました。
|