回答編集履歴
3
説明追記
test
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
直接の回答ではないですが、私もリファクタリングしてみました。
|
2
2
|
|
3
|
+
オブジェクトには役割を持たせましょう。生徒役、先生役。先生が生徒に成績を伝える。平均点は生徒が計算する。
|
4
|
+
|
3
5
|
何か参考になることがあれば幸いです。
|
4
6
|
|
5
7
|
|
2
コード変更
test
CHANGED
@@ -300,34 +300,36 @@
|
|
300
300
|
|
301
301
|
|
302
302
|
|
303
|
-
public
|
303
|
+
public void load(BufferedReader file) throws IOException {
|
304
|
+
|
304
|
-
|
305
|
+
while (true) {
|
306
|
+
|
305
|
-
String number = file.readLine();
|
307
|
+
String number = file.readLine();
|
306
|
-
|
308
|
+
|
307
|
-
if (number == null) {
|
309
|
+
if (number == null) {
|
308
|
-
|
310
|
+
|
309
|
-
return
|
311
|
+
return;
|
312
|
+
|
313
|
+
}
|
314
|
+
|
315
|
+
Student student = new Student();
|
316
|
+
|
317
|
+
student.setNumber(number);
|
318
|
+
|
319
|
+
student.setName(file.readLine());
|
320
|
+
|
321
|
+
student.setEnglish(readInt(file));
|
322
|
+
|
323
|
+
student.setLiterature(readInt(file));
|
324
|
+
|
325
|
+
student.setMathematics(readInt(file));
|
326
|
+
|
327
|
+
file.readLine(); // drop out average
|
328
|
+
|
329
|
+
students.add(student);
|
310
330
|
|
311
331
|
}
|
312
332
|
|
313
|
-
Student student = new Student();
|
314
|
-
|
315
|
-
student.setNumber(number);
|
316
|
-
|
317
|
-
student.setName(file.readLine());
|
318
|
-
|
319
|
-
student.setEnglish(readInt(file));
|
320
|
-
|
321
|
-
student.setLiterature(readInt(file));
|
322
|
-
|
323
|
-
student.setMathematics(readInt(file));
|
324
|
-
|
325
|
-
file.readLine(); // drop out average
|
326
|
-
|
327
|
-
students.add(student);
|
328
|
-
|
329
|
-
return true;
|
330
|
-
|
331
333
|
}
|
332
334
|
|
333
335
|
|
@@ -338,7 +340,7 @@
|
|
338
340
|
|
339
341
|
System.err.println(filename + "から読み込みます。");
|
340
342
|
|
341
|
-
|
343
|
+
load(file);
|
342
344
|
|
343
345
|
System.out.println(students.size() + "人のデータを読み込みました。");
|
344
346
|
|
1
コード修正
test
CHANGED
@@ -276,10 +276,6 @@
|
|
276
276
|
|
277
277
|
```ReadGradeFromFile.java
|
278
278
|
|
279
|
-
//読み込み用クラス
|
280
|
-
|
281
|
-
|
282
|
-
|
283
279
|
//package grade6;
|
284
280
|
|
285
281
|
import java.io.*;
|
@@ -342,9 +338,7 @@
|
|
342
338
|
|
343
339
|
System.err.println(filename + "から読み込みます。");
|
344
340
|
|
345
|
-
|
341
|
+
while (load(file));
|
346
|
-
|
347
|
-
}
|
348
342
|
|
349
343
|
System.out.println(students.size() + "人のデータを読み込みました。");
|
350
344
|
|