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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.itheima;

  2. import java.io.BufferedReader;
  3. import java.io.FileReader;
  4. import java.io.FileWriter;
  5. import java.io.IOException;
  6. import java.util.Arrays;
  7. import java.util.Scanner;


  8. public class Test1 {

  9.         /**
  10.          * @param args
  11.          */
  12.         public static void main(String[] args) {
  13.                 Student[] stu=new Student[5];
  14.        
  15. }
  16.         public void StudentInput(){
  17.                
  18.         }
  19.         }
  20.        
  21. /*
  22. *
  23. * 创建学生类
  24. */

  25. class Student implements Comparable {
  26.         String name;//学生姓名
  27.          double chinese;//语文成绩
  28.          double math;//数学成绩
  29.          double english;//英语成绩
  30.          double sum;//总分
  31.        
  32.          public Student(){
  33.                
  34.         }
  35.          public Student(String name,double chinese,double math,double english,double sum){
  36.                 this.name=name;
  37.                 this.chinese=chinese;
  38.                 this.math=math;
  39.                 this.english=english;
  40.                 this.sum=sum;
  41.         }
  42.          public String getName() {
  43.                 return name;
  44.         }
  45.         public void setName(String name) {
  46.                 this.name = name;
  47.         }
  48.         public double getChinese() {
  49.                 return chinese;
  50.         }
  51.         public void setChinese(double chinese) {
  52.                 this.chinese = chinese;
  53.         }
  54.         public double getMath() {
  55.                 return math;
  56.         }
  57.         public void setMath(double math) {
  58.                 this.math = math;
  59.         }
  60.         public double getEnglish() {
  61.                 return english;
  62.         }
  63.         public void setEnglish(double english) {
  64.                 this.english = english;
  65.         }
  66.         public double getSum() {
  67.                 return sum;
  68.         }
  69.         public void setSum(double sum) {
  70.                 this.sum = sum;
  71.         }
  72.        
  73.         @Override
  74.         public int compareTo(Object o) {
  75.                   Student s = (Student) o;  
  76.                   
  77.                 if (this.sum == s.sum) return this.name.compareTo(s.name);  
  78.           
  79.                 if (this.sum >s.sum)
  80.                         return -1;  
  81.                 else if (this.sum == s.sum)
  82.                         return 0;  
  83.                
  84.                 else return 1;  
  85.                
  86.         }
  87. }
复制代码
怎么把这个学生类的数组,按要求格式写入txt文本里。

8 个回复

倒序浏览
什么要求?拥集合不是一样吗
回复 使用道具 举报
对象明确只需要5个不会变,所以我没有用集合!
回复 使用道具 举报
艺多不压身丶 发表于 2015-4-3 16:55
什么要求?拥集合不是一样吗

姓名 xxx 成绩xxx
姓名 xxx 成绩xxx
姓名 xxx 成绩xxx
姓名 xxx 成绩xxx
就是这个格式,成绩高的放在第一行

点评

要求不少。好要排序。。。。。。  发表于 2015-4-3 17:02
回复 使用道具 举报
用TreeMap,键为Student对象,值为总分。Student类通过实现Comparable或Comparater实现排序,将学生对象添加到集合中。然后将集合中的元素依次取出,通过FileWriter写入文件中去。用TreeSet 也可以。。。
回复 使用道具 举报
让学生类实现Serializable,这个接口没方法,只是个标识,用ObjectOutputStream往外写,读的时候只能用ObjectInputStream读
回复 使用道具 举报
感觉好难
回复 使用道具 举报
!!!!!!!!!!!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马