黑马程序员_学生信息本地存储练习

本文介绍了一个使用Java实现的学生信息录入、排序及存储至文本文件的示例程序。该程序通过控制台输入学生的姓名和成绩,自动计算总分并按总分排序,最终将排序后的学生信息保存到本地文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


------- android培训java培训、期待与您交流! ----------



package 演示练习;
//记录键盘信息,格式为 name,23,24,14,然后按照后面三门成绩的总和进行排序,存储到本地 (学生成绩单.txt)中
//思路,首先记录各组信息,并对他们进行求和排序
import java.io.*;
import java.util.*;


class student implements Comparable<student>  //定义类,使其实现Comparable,具有比较性,既可以排序
{String name;                                                                    //定义泛型,限制传入值,是Student类的本类或子类,不然无法排序,存储会出错
int yuwen;
int shuxue;
int yingyu;
private int sum;
student(String name,String a,String b,String c)//按要求设置构造函数
{
this.name=name;
yuwen =Integer.parseInt(a);
shuxue=Integer.parseInt(b);
yingyu=Integer.parseInt(c);
sum=yuwen+shuxue+yingyu;
}
int getsum()
{
return sum;
}


 public int compareTo(student st)//覆写接口的compareTo方法,必须覆写
{if(this.getsum()==st.getsum())
return this.name.compareTo(st.name);
return  st.getsum()- this.getsum();
}

}


public class 学生信息存储练习 {


public static void main(String[] args)throws Exception
{
// TODO 自动生成的方法存根
//源是System.in
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
//中间是TreeSet集合
TreeSet<student> stuinfo=new TreeSet();
String st=null;
while(!(st=br.readLine()).equals("ok"))
{String[] stu=st.split(",");
stuinfo.add(new student(stu[0],stu[1],stu[2],stu[3]));}
br.close();
//目的是,写入本地文件,字符流
BufferedWriter bw=new BufferedWriter(new FileWriter("学生成绩单.txt"));
int num=1;
bw.write("           高一六班期中成绩单");
bw.newLine();
bw.write("名次 姓名     语文  数学   英语      总分");
bw.newLine();
bw.flush();
for(student stu:stuinfo)
{
bw.write(" "+num+""+stu.name+""+stu.yuwen+""+stu.shuxue+"    "+stu.yingyu+""+stu.getsum());
bw.newLine();
num++;
bw.flush();//字符流需刷新,不然会丢数据
}
bw.close();
     }


}
------- android培训java培训、期待与您交流! ----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值