Re: [問題] 請問如何Override toString
import java.io.*;
import java.util.*;
public class GradeSystem { // GradeSystem class
public static void main(String[] args) {
File myFile = new File("C:/Java/Student.txt"); // 建立File object
if (!myFile.exists())
System.out.println("檔案不存在"); // 如果File不存在則輸出錯誤訊息
else {
String data; // 建立data用來放讀File的資料
Grades aGrade;
try {
FileReader fileRead = new FileReader(myFile); // 讀File
BufferedReader fileIn = new BufferedReader(fileRead); // 放入Buffer
System.out.println("字串拆解為:");
LinkedList<Grades> aGradeSystem = new LinkedList(); // 建立LinkList
do {
data = fileIn.readLine(); // 讀取File的第一行資料
if (data == null)
break;
StringTokenizer str1 = new StringTokenizer(data); // 切割資料
while (str1.hasMoreTokens()) { // 如果還有資料就run
aGrade = new Grades(); // 建立aGrade Object
aGrade.ID = str1.nextToken(); // 第一個值放進aGrade的ID
aGrade.name = str1.nextToken(); // 以下以此類推
aGrade.lab1 = Integer.parseInt(str1.nextToken());
aGrade.lab2 = Integer.parseInt(str1.nextToken());
aGrade.lab3 = Integer.parseInt(str1.nextToken());
aGrade.midTerm = Integer.parseInt(str1.nextToken());
aGrade.finalExam = Integer.parseInt(str1.nextToken());
aGradeSystem.add(aGrade); // 將aGrade放入LinkList
}
} while (true);
for (int i = 0; i < aGradeSystem.size(); i++) { // 將LinkList資料print出
System.out.println(aGradeSystem.get(i));
}
fileRead.close(); // 關閉Read File
} catch (IOException e) {
System.out.println("檔案處理有誤!!");
}
}
}
static class Grades { // Grades class
String ID;
String name;
int lab1;
int lab2;
int lab3;
int midTerm;
int finalExam;
public String toString() { // Override toString() method
String str = ID + " " + name + " " + lab1 + " " + lab2 + " " + lab3
+ " " + midTerm + " " + finalExam;
return str;
}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.195.243
推
04/02 00:53, , 1F
04/02 00:53, 1F
推
04/04 16:49, , 2F
04/04 16:49, 2F
討論串 (同標題文章)