李涛兴 发表于 2013-1-15 19:40
我是用myeclipse编译的,包肯定都导了,这是源代码。
修改好了,下面是正确代码,LZ请查看 :D
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.Set;
- import java.util.TreeSet;
- class Student implements Comparable<Student>{
- private String name;
- private int ma,cn,en;
- private int sum;
-
- Student(String name,int ma,int cn,int en){
- this.name=name;
- this.ma=ma;
- this.cn=cn;
- this.en=en;
- sum=ma+cn+en;
- }
- public int compareTo(Student s){
- int num =new Integer(this.sum).compareTo(new Integer(s.sum));
- if(num==0)
- return this.name.compareTo(s.name);
- return num;
- }
- public String getName() {
- return name;
- }
- public int getSum() {
- return sum;
- }
- public int hasCode(){
- return name.hashCode()+sum*78;
-
- }
- public boolean equals(Object obj){
- if(!(obj instanceof Student ))
- throw new ClassCastException("类型补匹配");
- Student s=(Student)obj;
- return this.equals(s.name)&&this.sum==s.sum;
- }
-
- public String toString(){
- return "Student["+name+","+ma+","+cn+","+en+"]";
-
- }
- }
- class StudentInfoTool{
- public static Set<Student> getStudents() throws IOException
- {
- BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
- String line=null;
- String[] info=null;
- Set<Student> stus =new TreeSet<Student>();
- while((line=bufr.readLine())!=null){
- if("over".equals(line)){
- break;
- }
- info=line.split(",");
- Student stu= new Student(info[0],Integer.parseInt(info[1]),
- Integer.parseInt(info[1]),
- Integer.parseInt(info[1]));
-
- stus.add(stu);
- }
- bufr.close();
- return stus;
- }
-
- public static void write2File(Set<Student> stus) throws IOException{
- BufferedWriter bufw=
- new BufferedWriter (new FileWriter("stuinfo.txt"));
- for(Student stu:stus){
- bufw.write(stu.toString()+"\t");
- bufw.write(stu.getSum());
- bufw.newLine();
- bufw.flush();
- }
- bufw.close();
- }
-
- }
- public class StudentInfoTest{
- public static void main(String[] args) throws IOException {
-
- Set<Student>stus =StudentInfoTool.getStudents();
- StudentInfoTool.write2File(stus);
- }
-
- }
复制代码 |