JAVA程序设计-简单的学生信息管理系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA程序设计-简单的学生信息管理系统相关的知识,希望对你有一定的参考价值。
编写能够满足如下条件的程序
1 验证利用接口Set的实现HashSet来存储不重复的对象,可以存入String或int,double类型的值,并用Iterator显示其中的内容。在其中存入重复元素进行验证:size()的返回值并没有改变或Set中的内容并没有改变。
改变上述所使用的HashSet,改用可以排序的TreeSet,注意观察输出结果是否已排序。
2 声明Student类,该类实现Serializable接口以表明该类可以进行序列化。该类有姓名、学号(long)、课程名(String[],所有的学生都用相同的课程名,在定义的时候就进行初始化,可声明为static性质的变量)、课程成绩(double[])属性。比如课程名可以有"os"、"java"、"math"。在构造函数中进行姓名、学号、课程成绩变量的赋值。重写由Object继承来的toString方法以便以友好的格式显示自己的属性。
张三 12 os:90 java:90 math: 90
3 建立一个类,利用List来存储Student类,写完一个方法在main中写一段测试代码并运行以保证目前所做工作的正确性。有以下方法:
add(Student stu),可以向其中增加新的学生类;
dispAll方法,可以显示List中所有的学生信息;
add测试的方法:调用add方法增加一个Student,然后调用dispAll显示以表明已经增加该生。
findById(int id),可以按照学号来查找并显示符合条件的学生信息,查无该人的话显示错误信息;
findByName(String name)方法,可以按照姓名查找该学生,找到后显示其信息,查无此人显示错误信息。
delById(int id)方法,可以按照id删除该学生的信息,然后显示找到该人,即使查无此人,显示相应的错误信息;
save方法,利用ObjectOutputStream 来把list写入文件中;
load方法,利用ObjectInputStream来进行反序列化,得到以前保存的内容,注意要考虑如果以前没有保存内容时的情况,可显示错误信息。
4 在控制台显示以下内容:
1 显示所有学生信息
2 按学号查找
3 按姓名查找
4 按学号删除
5 保存
6 读入
7 退出
请输入数字(1-7)
用switch-case判断输入的内容。当输入2或4时,显示:
请输入学号:
当输入3时,显示:
请输入姓名:
5 (选做)在4的菜单中增加“添加学生”的功能,当选中该项时,分别显示信息,提示输入姓名、学号、各科的成绩,然后把该学生信息存入List中,并显示所有学生信息以证明信息已输入。
不过还没写出来。。
分了任务的。。。
慢慢写好了。。。
用JD做吧。。既然你都列了这么多的条条框框,那你应该晓得大体怎么构建撒。。一个做有点工作量。不过感觉也不是不可能。。就像上学期做的JAVA记事本一样。。。头脑清醒。。多上百度。。哎。。就OK了。 参考技术B 你起码拿点钱出来吧 参考技术C http://download.csdn.net/source/315810
在这里可以下载到你要的,自己大致修改下就可以咯本回答被提问者采纳 参考技术D 呵呵,看看啊...
有结果有说一下...
我也去开公司.... 第5个回答 2008-05-10 你不是在开玩笑吧
会编也不一定给你编阿
编出这个来就可以开公司了
Java 学生信息管理系统的实现(简洁易懂),适合计算机专业学生参考,毕业论文设计参考等
编写一个简单的学生管理信息系统。
在oracle中设计一张学生表,以学号作为关键字。
其他学生信息有:姓名、手机号。
在进入系统时,显示如下菜单:
**************************************************
=====欢迎进入学生管理信息系统=====
1. 新增学生
2. 修改学生
3. 删除学生
4. 查询学生
5. 退出系统
请选择(1-5):
**************************************************
(1) 新增学生功能:
**************************************************
=====新增学生=====
学号:
姓名:
手机号:
保存成功!
是否继续添加(y/n):
*************************************************
(2) 修改学生功能:
**************************************************
=====修改学生=====
请输入要修改的学生学号:111
该学生信息如下:
学生学号:111
学生姓名:张三
学生手机号:13333333333
请输入新的学生信息:
学生姓名:李四
学生手机号:13333333333
保存成功!
**************************************************
(3) 删除学生功能:
**************************************************
=====删除学生=====
请输入要删除的学生学号:111
该学生信息如下:
学生学号:111
学生姓名:张三
学生手机号:13333333333
是否真的删除(y/n):y
删除成功!
**************************************************
(4) 查询学生功能
**************************************************
=====查询学生=====
学生信息如下:
学号 姓名 手机号
111 张三 13333333333
222 李四 14444444444
**************************************************
编程思路:
一、定义一个学生管理类,内有增、删、改、查4个方法。
二、在main函数中,实例化学生管理类,并根据菜单的选项分别调用4个方法。
三、使用PreparedStatement的参数赋值,示例如下:
PreparedStatementpstmt = con.prepareStatement("insert into book values(?, ?, ?)");
pstmt.setString(1, "333");
pstmt.setString(2, "王五");
pstmt.setString(3, "15555555555");
pstmt.executeUpdate();
(专业提供服务计算机毕业论文设计,点击本传送门)
【实现过程】
1.数据库建stu表:
2.设计一个学生实体类(Stu.java)
package Stu; //实体类,封装学生类数据 /** * @authorScatlett */ publicclassStu { private String no; //学号 private String name; //姓名 private String phone; //手机号 //getter setter public String getNo() { returnno; } publicvoidsetNo(String no) { this.no = no; } public String getName() { returnname; } publicvoidsetName(String name) { this.name = name; } public String getPhone() { returnphone; } publicvoidsetPhone(String phone) { this.phone = phone; } //无参构造函数 public Stu() { super(); // TODO Auto-generated constructor stub } //有参构造函数 public Stu(String no, String name, String phone) { super(); this.no = no; this.name = name; this.phone = phone; } }
3.创建封装一个(DBUtil.java),用于连接到Oracle数据库
package Stu; importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.ResultSet; importjava.sql.SQLException; importjava.sql.Statement; publicclassDBUtil { privatestaticfinal String DRIVER_NAME = "oracle.jdbc.driver.OracleDriver"; privatestaticfinal String URL = "jdbc:oracle:thin:@localhost:1521:orcl"; privatestaticfinal String USER = "scott"; privatestaticfinal String PASS = "tiger"; publicstatic Connection getCon() throwsClassNotFoundException, SQLException { Connection con = null; Class.forName(DRIVER_NAME); con = DriverManager.getConnection(URL, USER, PASS); return con; } publicstaticvoid close(Connection con, Statement stmt, ResultSetrs) { try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (con != null) { con.close(); } } catch (SQLException e) { e.printStackTrace(); } } }
4.创建一个学生管理数据访问对象(StuDao.java)
packagestudao; //学生管理数据访问对象StuDao importjava.sql.Connection; importjava.sql.PreparedStatement; importjava.sql.ResultSet; importjava.sql.SQLException; importjava.util.ArrayList; importjava.util.List; importStu.DBUtil; importStu.Stu; publicclassStuDao { private Connection con; privatePreparedStatementpstmt; privateResultSetrs; //添加学生信息 publicboolean add(Stu stu) { String sql="insert into stu(stu_no,stu_name,phone) values(?,?,?)"; try { con=DBUtil.getCon(); pstmt=con.prepareStatement(sql); pstmt.setString(1, stu.getNo()); pstmt.setString(2, stu.getName()); pstmt.setString(3, stu.getPhone()); pstmt.executeUpdate(); } catch (ClassNotFoundException e) { e.printStackTrace(); returnfalse; } catch (SQLException e) { e.printStackTrace(); returnfalse; } finally{ DBUtil.close(con, pstmt, rs); } returntrue; } //查看学生列表(1所有) public List<Stu> list() { List<Stu> list=newArrayList<Stu>();//是线性列表,ArrayList是 String sql="select * from stu"; try { con=DBUtil.getCon(); pstmt=con.prepareStatement(sql); //pstmt.executeUpdate();//用于增删改 rs=pstmt.executeQuery();//用于查询 while (rs.next()) { //Stustu=new Stu(rs.getString("stu_no"),rs.getString("stu_name"),rs.getString("phone")); //上行写法亦可为: Stu stu=new Stu(); stu.setNo(rs.getString("stu_no"));//取结果集里面学号这一列的值赋给 stu.setName(rs.getString("stu_name")); stu.setPhone(rs.getString("phone")); list.add(stu); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally{ DBUtil.close(con, pstmt, rs); } return list; } //查看学生列表(2根据学生学号显示学生信息) public Stu findSomeone(String no) { Stu stu=null; String sql="select * from stu where stu_no=?"; try { con=DBUtil.getCon(); pstmt=con.prepareStatement(sql); //pstmt.executeUpdate();//用于增删改 pstmt.setString(1,no); rs=pstmt.executeQuery();//用于查询 while (rs.next()) { //Stustu=new Stu(rs.getString("stu_no"),rs.getString("stu_name"),rs.getString("phone")); //上行写法亦可为: stu=new Stu(); stu.setNo(rs.getString("stu_no"));//取结果集里面学号这一列的值赋给 stu.setName(rs.getString("stu_name")); stu.setPhone(rs.getString("phone")); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally{ DBUtil.close(con, pstmt, rs); } returnstu; } //修改学生信息 publicboolean update(Stu stu) { String sql="update stu set stu_name=?,phone=? wherestu_no=?"; try { con=DBUtil.getCon(); pstmt=con.prepareStatement(sql); pstmt.setString(3, stu.getNo()); pstmt.setString(1, stu.getName()); pstmt.setString(2, stu.getPhone()); pstmt.executeUpdate(); } catch (ClassNotFoundException e) { e.printStackTrace(); returnfalse; } catch (SQLException e) { e.printStackTrace(); returnfalse; } finally{ DBUtil.close(con, pstmt, rs); } returntrue; } //删除学生信息 publicboolean del(String id) { String sql="delete from stu where stu_no=?"; try { con=DBUtil.getCon(); pstmt=con.prepareStatement(sql); pstmt.setString(1,id); pstmt.executeUpdate(); } catch (ClassNotFoundException e) { e.printStackTrace(); returnfalse; } catch (SQLException e) { e.printStackTrace(); returnfalse; } finally{ DBUtil.close(con, pstmt, rs); } returntrue; } }
5.学生信息管理系统的菜单选择实现
package Stu; //学生信息管理系统的菜单选择 importjava.sql.Connection; importjava.util.List; importjava.util.Scanner; importjavax.print.DocFlavor.INPUT_STREAM; importorg.omg.CORBA.PUBLIC_MEMBER; importstudao.StuDao; publicclassStuManage { publicvoid menu() { //1.打印菜单 //2.输入菜单 //3.switch菜单选择 int choose; do { System.out.println("******************************"); System.out.println("=======欢迎进入学生信息管理系统======="); System.out.println("1.新增学生"); System.out.println("2.修改学生"); System.out.println("3.删除学生"); System.out.println("4.查询学生"); System.out.println("5.退出该系统"); System.out.println("请选择(1-5):"); Scanner scanner=new Scanner(System.in); choose=scanner.nextInt(); System.out.println("******************************"); switch (choose) { case 1: myAdd(); //菜单选择1,是新增学生 break; case 2: myUpdate(); //菜单选择2,是修改学生 break; case 3: myDel(); //菜单选择3,是删除学生 break; case 4: myList(); //菜单选择4,是查询学生 break; case 5: //菜单选择5,是退出该系统 System.out.println("您选择了退出系统,确定要退出吗?(y/n)"); Scanner scan=new Scanner(System.in); String scanExit=scan.next(); if(scanExit.equals("y")){ System.exit(-1); System.out.println("您已成功退出系统,欢迎您再次使用!"); } break; default: break; } } while (choose!=5); } //新增学生信息 publicvoidmyAdd() { String continute; do { Scanner s=new Scanner(System.in); String no,name,phone; System.out.println("====新增学生===="); System.out.println("学号:"); no=s.next(); System.out.println("姓名:"); name=s.next(); System.out.println("手机号:"); phone=s.next(); Stu stu=new Stu(no,name,phone); StuDaodao=newStuDao(); boolean ok=dao.add(stu); if (ok) { System.out.println("保存成功!"); }else { System.out.println("保存失败!"); } System.out.println("是否继续添加(y/n):"); Scanner scanner2=new Scanner(System.in); continute=scanner2.next(); } while (continute.equals("y")); } //删除学生信息 publicvoidmyDel(){ Scanner s=new Scanner(System.in); String no; System.out.println("====删除学生===="); System.out.println("请输入要删除的学生学号:"); no=s.next(); System.out.println("该学生的信息如下:"); StuDaostuDao=newStuDao(); System.out.println("学生学号:"+stuDao.findSomeone(no).getNo()); System.out.println("学生姓名:"+stuDao.findSomeone(no).getName()); System.out.println("学生手机号:"+stuDao.findSomeone(no).getPhone()); System.out.println("是否真的删除(y/n):"); Scanner scanner3=new Scanner(System.in); String x=scanner3.next(); if (x.equals("y")) { Stu stu=new Stu(no,null,null); StuDaodao=newStuDao(); boolean ok=dao.del(no); if (ok) { System.out.println("删除成功!"); }else { System.out.println("删除失败!"); } } } //修改学生信息 publicvoidmyUpdate(){ Scanner s=new Scanner(System.in); String no; System.out.println("====修改学生===="); System.out.println("请输入要修改的学生学号:"); no=s.next(); System.out.println("该学生的信息如下:"); StuDaostuDao=newStuDao(); System.out.println("学生学号:"+stuDao.findSomeone(no).getNo()); System.out.println("学生姓名:"+stuDao.findSomeone(no).getName()); System.out.println("学生手机号:"+stuDao.findSomeone(no).getPhone()); System.out.println("请输入新的学生信息:"); Scanner stuUp=new Scanner(System.in); String name,phone; System.out.println("学生姓名:"); name=stuUp.next(); System.out.println("学生手机号:"); phone=stuUp.next(); Stu stu=new Stu(no,name,phone); StuDaodao=newStuDao(); boolean ok=dao.update(stu); if (ok) { System.out.println("保存成功!"); }else { System.out.println("保存失败!"); } } //查询学生信息 publicvoidmyList(){ System.out.println("************************"); System.out.println("====查询学生===="); System.out.println("该学生的信息如下:"); System.out.println("学号\\t姓名\\t手机号"); StuDaostuDao=newStuDao(); List<Stu> list=stuDao.list(); for (Stu stuList:list) { //循环打印出查询结果 System.out.println(stuList.getNo()+"\\t"+stuList.getName()+"\\t"+stuList.getPhone()); } System.out.println("************************"); } }
6.最后编写一个主函数测试类
package Stu; //主函数测试类 publicclass Main { /** * @paramargs */ publicstaticvoid main(String[] args) { StuManage s=newStuManage(); s.menu(); } }
7.程序测试结果截图:
(1) 新增学生信息
(2) 修改学生信息
(3) 删除学生信息
(4) 查询学生信息
以上是关于JAVA程序设计-简单的学生信息管理系统的主要内容,如果未能解决你的问题,请参考以下文章
Java 学生信息管理系统的实现(简洁易懂),适合计算机专业学生参考,毕业论文设计参考等