制作学生信息(姓名,学号,成绩)管理系统
功能包括:
1 输入学生信息(姓名,学号,成绩)
2 列出学生信息,依次列出各学生 姓名,学号,成绩
3 按学号检索学生信息,输出:姓名,成绩
4 学生信息按学生成绩进行低到高排序输出
5 存储学生信息,将各学生姓名,学号,成绩按二进制方式存入文件
6 读出学生信息,从文件中读出学生信息,放入数组
7 读到end字符串,程序结束
参考结构如下:
其中,StudentData以数组存储学生信息(num成员变量表示数组有效个数,MAXSIZE为最大记录数)MainClass中使用死循环读入指令操作
谢谢
我做了个控制台的:
异常没处理!
--------------------------------------------------------
import java.util.Scanner;
public class Main {
Scanner input = new Scanner(System.in);
public static void main(String[] args) {
Main m= new Main();
m.showView();
}
public void showView(){
System.out.println("欢迎使用学生管理系统");
System.out.println("******************");
System.out.println("1.输入学生信息");
System.out.println("2.展示学生信息");
System.out.println("3.退出系统");
System.out.println("请选择:");
choseFunction();
}
public void choseFunction(){
int i= input.nextInt();
switch(i){
case 1:
InputInfo ii = new InputInfo();
ii.check();
this.showView();
break;
case 2:
ShowInfo si = new ShowInfo();
si.show();
this.showView();
break;
case 3:
System.out.println("Bye-Bey!");
System.exit(0);
break;
default:
System.out.println("输入有误,请重新输入:");
this.choseFunction();
break;
}
}
}
------------------------------------------------------------
import java.util.Scanner;
import java.util.List;
import java.io.*;
public class InputInfo {
StuDataSource sds = new StuDataSource();
Scanner input = new Scanner(System.in);
List<StuInfo> list = sds.getList();
private StuInfo input(){
StuInfo stu = new StuInfo();
System.out.println("请输入学生姓名:");
stu.setName(input.next());
System.out.println("请输入学生学号:");
stu.setNo(input.next());
System.out.println("请输入学生成绩(数字):");
stu.setScore(input.nextDouble());
if(list.size()>0){
list = this.sort(stu);
}else{
list.add(stu);
}
return stu;
}
private void save(StuDataSource s){
try {
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("StuInfos.out"));
out.writeObject(s);
out.flush();
out.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void check(){
String istr="";
do{
this.input();
System.out.println("还要继续录入吗?(Y/N)");
istr = input.next();
istr.toLowerCase();
}while(istr.equals("y"));
this.save(sds);
}
public List<StuInfo> sort(StuInfo stu){
for (int i = list.size(); i >0 ; i--) {
StuInfo tempStu = (StuInfo) list.get(i-1);
if(tempStu.getScore()<stu.getScore()){
list.add(i,stu);
return list;
}else if(i-1==0&&tempStu.getScore()>stu.getScore()){
list.add(0,stu);
}
}
return list;
}
}
----------------------------------------------------------
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.List;
import java.util.Scanner;
public class ShowInfo {
Scanner input = new Scanner(System.in);
public String show(){
String istr ="";
System.out.println("姓名"+"\t"+"学号"+"\t"+"成绩");
try {
ObjectInputStream in = new ObjectInputStream(new FileInputStream("StuInfos.out"));
StuDataSource stus = (StuDataSource)in.readObject();
List<StuInfo> list = stus.getList();
for (int i = 0; i < list.size(); i++) {
StuInfo stu = list.get(i);
System.out.println(stu.getName()+"\t"+stu.getNo()+"\t"+stu.getScore());
}
System.out.println("按任意键返回!");
istr=input.next().toLowerCase();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return istr;
}
}
-----------------------------------------------------------
import java.io.*;
public class StuInfo implements Serializable{
private String name;
private String no;
private double score;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
}
-------------------------------------------------------------
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class StuDataSource implements Serializable {
private List<StuInfo> list = new ArrayList<StuInfo>();
public List<StuInfo> getList() {
return list;
}
public void setList(List<StuInfo> list) {
this.list = list;
}
}
----------------------------------------------------------
思路就是这样!加分给我谢谢~!