package org.westos.作业;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;
//1 :键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件
public class Text1 {
public static TreeMap<Score,String> map = new TreeMap<>();
public static void main(String[] args) throws IOException {
Luru();
FileWriter fw = new FileWriter("e:\\成绩表.txt");
Set<Score> set = map.keySet();
for(Score s:set) {
String name = map.get(s);
System.out.println(name+"---"+s);
fw.write(name);
fw.write(" ");
fw.write(s.toString());
fw.write("\r\n");
fw.flush();
}
fw.close();
}
public static void Luru() {
Scanner sc = new Scanner(System.in);
System.out.println("输入学生姓名:");
String name = sc.nextLine();
//System.out.println("姓名"+name);
System.out.println("输入学生语文成绩");
int chinese = sc.nextInt();
System.out.println("输入学生数学成绩");
int math = sc.nextInt();
System.out.println("输入学生英语成绩");
int english = sc.nextInt();
Score s = new Score(chinese,math,english);
map.put(s,name);
System.out.println("输入0继续");
int flag = sc.nextInt();
if(flag==0) {
Luru();
}
}
}
package org.westos.作业;
public class Score implements Comparable<Score>{
private int chinese;
private int math;
private int english;
private int sum;
public int getChinese() {
return chinese;
}
public void setChinese(int chinese) {
this.chinese = chinese;
}
public int getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public int getEnglish() {
return english;
}
public void setEnglish(int english) {
this.english = english;
}
public int getSum() {
return chinese+math+english;
}
public Score() {
super();
}
public Score(int chinese, int math, int english) {
super();
this.chinese = chinese;
this.math = math;
this.english = english;
this.sum = this.getSum();
}
@Override
public String toString() {
return "Score [chinese=" + chinese + ", math=" + math + ", english=" + english + ", sum=" + sum + "]";
}
@Override
public int compareTo(Score s1) {
int num =s1.sum - this.sum;
return num;
}
}
package org.westos.作业;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
//2: 已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl”
//请编写程序读取数据内容,把数据排序后写入ss.txt中。
public class Text2 {
public static void main(String[] args) throws IOException {
//创建输入流对象
FileInputStream fis = new FileInputStream("e:\\s.txt");
//创建存储数据的集合
ArrayList<Character> list = new ArrayList<>();
int by = 0;
while((by=fis.read())!=-1) {
System.out.print((char)by);
//将数据转换为char类型
Character ch =new Character((char) by);
//添加数据
list.add(ch);
}
//释放输入流资源
fis.close();
//创建输出流对象
FileWriter fr = new FileWriter("e:\\ss.txt");
//将集合转换为数组
Object[] obj = list.toArray();
//排序
Arrays.sort(obj);
//写入
for(Object o:obj) {
//System.out.print((Character)o);
fr.write((Character)o);
}
//释放输出流资源
fr.close();
}
}