作者pugboy ()
看板java
标题[问题] 请问资料切割问题
时间Sun Mar 31 00:45:53 2013
不好意思
在写一个Project
要读取文件
并利用切割的方式
放进去物件
最後在把物件一个一个放进Linklist
可是程式都写好
但输出结果却有问题....
原本应该输出
955002056 许文馨 88 92 88 98 91
962001044 凌宗廷 87 86 98 88 87
962001051 李威廷 81 98 84 90 93
965002038 苏亨玠 95 89 93 81 83
965002044 商扬夏 85 86 80 81 88
这种资料
但是我的确是输出如下
java.util.StringTokenizer@747541f8
java.util.StringTokenizer@7ffe9999
java.util.StringTokenizer@24164d75
java.util.StringTokenizer@34374ed5
java.util.StringTokenizer@1b189cbb
元素
Grades@5d2394f8
Grades@5d2394f8
Grades@5d2394f8
Grades@5d2394f8
Grades@5d2394f8
可以请问为什麽会这样吗? 谢谢各位 Orz
附上我的原始码:
import java.io.*;
import java.util.*;
class GradeSystem { //GradeSystem class
public GradeSystem() throws IOException{
String data[] = new String[6]; //用来放资料的String
LinkedList<Grades> aGradeSystem = new LinkedList(); //宣告Linklist
FileReader fr = new FileReader("c:\\Java\\Student.txt");
//读取资料档
BufferedReader br=new BufferedReader(fr);//将资料放进Buffer
Grades aGrade = new Grades(); //建立aGrade Object准备放进Linklist
String line;
while((line=br.readLine()) != null){ //如果还有资料就执行
StringTokenizer st1= new StringTokenizer(line);
//切割资料
System.out.println(st1); //印出资料
aGrade.name=st1.nextToken(); //第一笔资料存入name
aGrade.ID = st1.nextToken(); //以下以此类推
aGrade.lab1 = Integer.parseInt(st1.nextToken());
aGrade.lab2 = Integer.parseInt(st1.nextToken());
aGrade.lab3 = Integer.parseInt(st1.nextToken());
aGrade.midTerm = Integer.parseInt(st1.nextToken());
//aGrade.finalExam = Integer.parseInt(st1.nextToken());
aGradeSystem.add(aGrade); //将aGrade存入LinkList
}
for(int i=0; i<aGradeSystem.size(); i++){//将资料一个一个print
System.out.print(aGradeSystem.get(i));
System.out.println();
}
}
}
public class Ccc{ //main进入点
public static void main(String args[]) throws IOException{
GradeSystem co = new GradeSystem();
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.238.21
1F:推 mabinogi805:LinkedList的toString()覆写掉应该就OK了吧? 03/31 00:51
2F:推 PsMonkey:不是 LinkedList 的 toString() 是里头元素的 toString() 03/31 01:02
※ 编辑: pugboy 来自: 140.115.130.102 (03/31 14:25)