A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 田宇鹤 中级黑马   /  2012-12-1 00:13  /  1246 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package IOtest;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
//5:有三个学生,每个学生有3门课的成绩,从键盘输入以上数据(姓名,三门课成绩),
//按照总成绩的排序,最后把排序后的数据写入文件。
//s1 70 90 80
//s2 75 95 98
//s3 98 78 80
//
//s1
//s3
//s2
//
//思路:
//        A:定义学生类
//        B:录入3个学生,把学生存储到TreeSet集合。
//        C:对TreeSet集合中的元素按照你的想法排序。
//        D:把TreeSet集合中的数据遍历写入到文本文件。

public class Test {
        public static void main(String[] args) throws IOException {

                BufferedWriter bw = new BufferedWriter(new FileWriter("h.txt"));

                TreeSet<Student> tm = new TreeSet<Student>(new Comparator<Student>() {
                        public int compare(Student st1, Student st2) {
                                int num = (st1.getSx() + st1.getYw() + st1.getYy())
                                                - (st2.getSx() + st2.getYw() + st2.getYy());
                                return num;
                        }
                });

                Student s1 = new Student("s1", 70, 90, 80);
                Student s2 = new Student("s2", 75, 95, 98);
                Student s3 = new Student("s3", 98, 78, 80);

                tm.add(s1);
                tm.add(s2);
                tm.add(s3);

                Iterator<Student> it = tm.iterator();
                while (it.hasNext()) {
                        Student s = it.next();
                        System.out.println(s);

//                         w.write(s);
//                         bw.write(s);
//                         bw.flush();
//                         fw.close();

                }
        }
}



怎么打印成.txt文件啊   没有思路了....是不是应该吧Student转换成String的啊


评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
  Student s = it.next();
System.out.println(s);

在这个地方是关键,如果你Student类中有覆写了tostring方法的话,可以这样的写,如果没有,你需要通过get来获取,这样在write中一起写出来就行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马