制作学生信息(姓名,学号,成绩)管理系统(用Java)

制作学生信息(姓名,学号,成绩)管理系统
功能包括:
1 输入学生信息(姓名,学号,成绩)
2 列出学生信息,依次列出各学生 姓名,学号,成绩
3 按学号检索学生信息,输出:姓名,成绩
4 学生信息按学生成绩进行低到高排序输出
5 存储学生信息,将各学生姓名,学号,成绩按二进制方式存入文件
6 读出学生信息,从文件中读出学生信息,放入数组
7 读到end字符串,程序结束
参考结构如下:

其中,StudentData以数组存储学生信息(num成员变量表示数组有效个数,MAXSIZE为最大记录数)MainClass中使用死循环读入指令操作
谢谢

第1个回答  2010-01-15

我做了个控制台的:

异常没处理!

--------------------------------------------------------

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;

 }

}

----------------------------------------------------------

思路就是这样!加分给我谢谢~!