java输入学生信息,按总分成绩由高到低排列,输出到文件中

主函数
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;


public class TestStudent {
	public static void main(String[] args) {
		//String name="";
		int i=0;
		Set set= new TreeSet(new Comparator(){


			@Override
			public int compare(Student o1, Student o2) {
				// TODO Auto-generated method stub
				if(o1.getScore()					return 1;
				}else if(o1.getScore()>o2.getScore()){
					return -1;
				}
				return 0;
			}
		});
		while(true) {
			System.out.println("请输入学生的姓名");
			String sname= new Scanner(System.in).next();
			System.out.println("请输入学生的语文");
			int s1= new Scanner(System.in).nextInt();
			System.out.println("请输入学生的数学");
			int s2= new Scanner(System.in).nextInt();
			System.out.println("请输入学生的英语");
			int s3= new Scanner(System.in).nextInt();
			int s4=s1+s2+s3;
			Student ss1=new Student(sname,s1,s2,s3,s4);
			set.add(ss1);
			System.out.println("是否继续进行添加"+1+"就是退出");
			int out= new Scanner(System.in).nextInt();
			i++;
			if(i==5||out==1){
				break;
			}
		}
		Iterator iter=set.iterator();
		while(iter.hasNext()){
			Student sh=iter.next();
			//System.out.println(sh);
		}
		File f1= new File("D:\\testio\\a\\s.txt");
		TestStudent.cunru(set, f1);
	}
	public static void cunru(Set set,File f1){
		if(!f1.exists()){
			f1.getParentFile().mkdirs();
		}
		Writer w1= null;
		BufferedWriter b1=null;
		try {
			w1= new FileWriter(f1);
			b1=new BufferedWriter(w1);
			Iterator iter=set.iterator();
			while(iter.hasNext()){
				Student sh=iter.next();
				System.out.println(sh.toString());
				b1.write(sh.toString());
				b1.newLine();
				//System.out.println(sh);
			}
			b1.flush();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
学生类
public class Student {
	private String name;
	private int yuwen;
	private int shuxue;
	private int yingyu;
	private int score;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getYuwen() {
		return yuwen;
	}
	public void setYuwen(int yuwen) {
		this.yuwen = yuwen;
	}
	public int getShuxue() {
		return shuxue;
	}
	public void setShuxue(int shuxue) {
		this.shuxue = shuxue;
	}
	public int getYingyu() {
		return yingyu;
	}
	public void setYingyu(int yingyu) {
		this.yingyu = yingyu;
	}
	public int getScore() {
		return score;
	}
	public void setScore(int score) {
		this.score = score;
	}
	@Override
	public String toString() {
		return "Student [name=" + name + ", yuwen=" + yuwen + ", shuxue="
				+ shuxue + ", yingyu=" + yingyu + ", score=" + score + "]";
	}
	/**
	 * @param name
	 * @param yuwen
	 * @param shuxue
	 * @param yingyu
	 */
	public Student(String name, int yuwen, int shuxue, int yingyu) {
		this.name = name;
		this.yuwen = yuwen;
		this.shuxue = shuxue;
		this.yingyu = yingyu;
	}
	/**
	 * @param name
	 * @param yuwen
	 * @param shuxue
	 * @param yingyu
	 * @param score
	 */
	public Student(String name, int yuwen, int shuxue, int yingyu, int score) {
		super();
		this.name = name;
		this.yuwen = yuwen;
		this.shuxue = shuxue;
		this.yingyu = yingyu;
		this.score = score;
	}
}

 文件输出结果: 
  
java输入学生信息,按总分成绩由高到低排列,输出到文件中_第1张图片

你可能感兴趣的:(java)