Java课程设计-学生信息管理系统_第1页
Java课程设计-学生信息管理系统_第2页
Java课程设计-学生信息管理系统_第3页
Java课程设计-学生信息管理系统_第4页
Java课程设计-学生信息管理系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.Java 课程设计-学生信息管理系统【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.面向对象程序设计面向对象程序设计课程设计报告课程设计报告题题 目:目:*课程设计课程设计 学学 院:院: 信息工程学院信息工程学院 姓姓 名:名: * * * 学学 号:号: * *专专 业:业: 计算科学与技术计算科学与技术 班班 级:级: * 指导教师:指导教师: * 2015 年年 12 月月【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.目 录目 录.1摘 要.21.引 言.32.设计目的与任务.43. 设计

2、方案.53.1总体设计.53.2开发环境.53.3层次图.53.4界面预览.53.4.1登录界面.53.4.2该管理员不存在( 用户名:name 用户密码:psw ).63.4.3学生信息管理界面.63.4.4填写学生信息.73.4.5录入学生信息.73.4.6查询学生信息.73.4.7修改学生信息.83.4.8删除学生信息.83.4.9显示所有学生信息.94.系统说明.105.设计体会与小结.116.附 录.126.1登录界面源代码 Login.java.126.2学生信息管理系统源码 Student.java.14【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.摘 要随着学

3、校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。目前社会上信息管理系统发展飞快,各个企业事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。该报告中的程序是简单的学生管理系统,该系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。使用 Java 程序编写,能够进行学生信息录入、修改、查看、删除等操作。该程序主要用到了 Java sw

4、ing 和事件监听等。1. 引 言Java 的前身是 Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的 Internet 上。1995 年,Java 语言的名字从 Oak编程了 Java。1997 年 J2SE1.1 发布。1998 年 J2SE1.2 发布,标志 Java2 的诞生。十多年来,Java 编程语言及平台成功地运用在网络计算及移动等各个领域。Java 的体系结构由 Java 语言、Java class 组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java 支持多线程编程,Java 运行时系统在多线程同步方面

5、具有成熟的解决方案。Java 的平台标准有 Java ME,Java SE 和 Java EE。Java 发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java 的开发工具中主要的 7 有 Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper 和 Eclipse 等。其中 Java Development Kit 简称 JDK 是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是学生

6、管理系统程序,规模较小,内容较少,所以选择了适合初学者使用的 JCreator 开发工具。2.设计目的与任务学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随【精品文档】如有侵权,请联系网站删除,仅供学

7、习与交流.精品文档.着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。在计算机网络,数据库和先进的开发平台上,利用现有的软件、硬件资源,开发一个具有开放体系结构的,易扩充的,易维护的,具有良好人机交互界面的学生信息管理系统。这个简单的学生信息管理系统包括以下两个基本功能: 管理员登陆 学生信息管理本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,针对这些要求设计了学生管理信息系统。3.设计方案3.1 总体设计本程序

8、要构建的学生管理系统程序其功能有以下几个方面: (1)首先是学生管理系统主界面“管理员登录界面” 。 (2)管理员登录之后的子界面“学生信息管理界面” 。(3)学生信息管理界面可对学生信息进行填写操作。(4)学生信息管理界面底端并含有“录入、查询、修改、删除、显示”五个操作按钮。3.2 开发环境Windows XP;myeclipse-8.5.0-win32【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.3.3 层次图3.4 界面预览3.4.1登录界面3.4.2该管理员不存在( 用户名:name 用户密码:psw )3.4.3学生信息管理界面3.4.4填写学生信息3.4.5录入

9、学生信息3.4.6查询学生信息3.4.7修改学生信息3.4.8删除学生信息3.4.9显示所有学生信息4.系统说明1、该系统并未使用数据库,只是把信息存放在了一个新建立的文本文档中。2、关于管理员信息,必须现在 C 盘建立一个名为 Login 的文本文档,在 Login 中存入用户名和密码且必须分行写入。3、若要修改学生信息必须先进行信息的查询,查询后方可进行信息修改。5.设计体会与小结通过这次课程设计,我们大家在老师的帮助下收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。编程是个艰难的过程,很多功能语句都需要上网或者是查其他书籍来查看他们的用法,课本上的东西

10、对我们来说远远不够,我们要把目光放长远一些。这次的课程设计使我对 JAVA 的许多东西都有了更深一步的了解,以前对自己的要求是看得懂就行,现在才发现,光能看懂是远远不够的,能看懂并不代表你会!课本被翻过很多遍,很多以前不知道的东西就这样豁然开朗了。本次 Java 课程设计的锻炼,不仅我们的分析问题跟解决问题的能力都得到明显的提高,在这次事件过程中收获很多,对我们而言,知识上的收回,尽管遇到了困难,但还是通过各种途径克服问题。做小小的测试,通过了就很开心,收获颇多,但是知识还是欠缺,我们会继续努力。学生信息管理系统管理员登陆学生信息管理添加学生信息查询学生信息修改学生信息删除学生信息显示学生信息

11、【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.6.附 录6.1 登录界面源代码 Login.javapackage aa;import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.BufferedRea

12、der;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.*;import java.sql.*;class Login extends JFrame implements ActionListenerContainer cp=null;String name=null;String psw=null;JFrame f=null;JButton j1,j2;JTextField t1;JPasswordField t2;JLabel jlable1,jlable2;

13、Color c;JPanel jp1,jp2;Login()f=new JFrame(学生管理系统);j1=new JButton(确定);j2=new JButton(取消);cp=f.getContentPane();jlable1=new JLabel( 输入用户名);jlable2=new JLabel( 用户密码);jp1=new JPanel();jp2=new JPanel();t1=new JTextField(18);t2=new JPasswordField(18);jp1.add(jlable1);jp1.add(t1);jp1.add(jlable2);jp1.add(

14、t2);JLabel JL=new JLabel(欢迎进入信【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.息工程学院管理系统,SwingConstants.CENTER);cp.add(JL,North);jp2.add(j1);jp2.add(j2);cp.add(jp1,Center);cp.add(South,jp2);jp1.setBackground(Color.lightGray);Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.wi

15、dth; /*取得显示器窗口的宽度*/int y=screen.height; /*取得显示器窗口的高度*/setSize(x,y);/*让系统窗口平铺整个显示器窗口*/f.setSize(300,300);int xcenter=(x-300)/2;int ycenter=(y-300)/2;f.setLocation(xcenter,ycenter);/*显示在窗口中央*/f.setVisible(true);j1.addActionListener(this);/注册事件监听器j2.addActionListener(this);f.addWindowListener(new Windo

16、wAdapter()public void windowClosing(WindowEvent e)System.exit(0);public void confirm() throws IOException/验证用户和密码是否存在File file =new File(C:/Login.txt);tryif(!file.exists()file.createNewFile();catch (IOException e) e.printStackTrace();BufferedReader br = new BufferedReader(new FileReader(file);String

17、 temp=br.readLine();String line;while(line=br.readLine()!=null)temp+=,+line;if(temp=null)System.out.println();elseString str=temp.split(,);name=str0;psw=str1;if(t1.getText().trim().equals(name)&(t2.getText().equals(psw)new Test();f.hide();br.close();else【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.JOptionPan

18、e.showMessageDialog(null,该用户不存在,提示?,JOptionPane.YES_NO_OPTION);t1.setText();t2.setText();public void actionPerformed(ActionEvent e)String cmd=e.getActionCommand();if(cmd.equals(确定)tryconfirm(); catch (IOException e1)e1.printStackTrace();else if(cmd.equals(取消)f.dispose();public static void main(Strin

19、g args)Login a=new Login();6.2 学生信息管理系统源码 Student.javapackage aa;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Student implements java.io.SerializableString number,name,specialty,grade,borth,sex;public Student();public void setNumber(

20、String number)this.number=number;public String getNumber()return number;public void setName(String name)=name;public String getName() return name;public void setSex(String sex)this.sex=sex;public String getSex()return sex;public void setSpecialty(String specialty) this.specialty=specialty;p

21、ublic String getSpecialty() return specialty;public void setGrade(String grade)this.grade=grade;public String getGrade()return grade;public void setBorth(String borth)this.borth=borth;public String getBorth() return borth; class Test extends JFrameJLabel lb=new JLabel(录入请先输入记录、查询、删除请先输入学号?修改是对查询+内容改

22、后的保存?);JTextField 学号,姓名,专业,年级,出生;JRadioButton 男,女;ButtonGroup group=null;【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.JButton 录入,查询,删除,修改,显示;JPanel p1,p2,p3,p4,p5,p6,pv,ph;Student 学生=null;Hashtable 学生散列表=null;File file=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;Obje

23、ctOutputStream outTwo=null;public Test()super(学生信息管理系统);学号=new JTextField(10);姓名=new JTextField(10);专业=new JTextField(10);年级=new JTextField(10);出生=new JTextField(10);group=new ButtonGroup();男=new JRadioButton(男,true);女=new JRadioButton(女,false);group.add(男);group.add(女);录入=new JButton(录入);查询=new JBu

24、tton(查询);删除=new JButton(删除);修改=new JButton(修改);显示=new JButton(显示);录入.addActionListener(new InputAct();查询.addActionListener(new InquestAct();修改.addActionListener(new ModifyAct();删除.addActionListener(new DeleteAct();显示.addActionListener(new ShowAct();修改.setEnabled(false);p1=new JPanel();p1.add(new JLa

25、bel(学号:,JLabel.CENTER);p1.add(学号);p2=new JPanel();p2.add(new JLabel(姓名:,JLabel.CENTER);p2.add(姓名);p3=new JPanel();p3.add(new JLabel(性别:,JLabel.CENTER);p3.add(男);p3.add(女);p4=new JPanel();p4.add(new JLabel(专业:,JLabel.CENTER);【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.p4.add(专业);p5=new JPanel();p5.add(new JLabel

26、(年级:,JLabel.CENTER);p5.add(年级);p6=new JPanel();p6.add(new JLabel(出生:,JLabel.CENTER);p6.add(出生);pv=new JPanel();pv.setLayout(new GridLayout(6,1);pv.add(p1);pv.add(p2);pv.add(p3);pv.add(p4);pv.add(p5);pv.add(p6);ph=new JPanel();ph.add(录入);ph.add(查询);ph.add(修改);ph.add(删除);ph.add(显示);file=new File(学生信息.

27、txt);学生散列表=new Hashtable();if(!file.exists()tryFileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.writeObject(学生散列表);objectOut.close();out.close();catch(IOException e)Container con=getContentPane();con.setLayout(new BorderLayout();con.a

28、dd(lb,BorderLayout.NORTH);con.add(pv,BorderLayout.CENTER);con.add(ph,BorderLayout.SOUTH);setDefaultCloseOperation(EXIT_ON_CLOSE);setBounds(100,100,600,300);setVisible(true);public static void main(String args)new Test();class InputAct implements ActionListenerpublic void actionPerformed(ActionEvent

29、e)修改.setEnabled(false);String number=;【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.number=学号.getText();if(number.length()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catch(Exception ee)System.out.println(创建散列表出现问题?);if(学生散

30、列表.containsKey(number)String warning=该生信息已存在? 请到修改页面修改?;JOptionPane.showMessageDialog(null,warning,警告,JOptionPane.WARNING_MESSAGE);/endif1elseString m=该生信息将被录入?;intok=JOptionPane.showConfirmDialog(null,m,确认,JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);if(ok=JOptionPane.YES_OPTION)Strin

31、g name=姓名.getText();String specialty=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()sex=男.getText();elsesex=女.getText();学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex

32、(sex);tryoutOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outOne);学生散列表.put(number,学生);outTwo.writeObject(学生散列表);outTwo.close();outOne.close();catch(Exception ee)System.out.println(输出散列表出现问题?);【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(

33、null);出生.setText(null);/end else1/endif0elseString warning=必须输入学号?;JOptionPane.showMessageDialog(null,warning, 警 告,JOptionPane.WARNING_MESSAGE);/end else0/end actionPerformed/end classclass InquestAct implements ActionListenerpublic void actionPerformed(ActionEvent e)String number=;number=学号.getText

34、();if(number.length()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catch(Exception ee)System.out.println(散列表有问题?);if(学生散列表.containsKey(number)修改.setEnabled(true);Student stu=(Student)学生散列表.get(number);姓名.setTex

35、t(stu.getName();专业.setText(stu.getSpecialty();年级.setText(stu.getGrade();出生.setText(stu.getBorth();if(stu.getSex().equals( 男)男.setSelected(true);else女.setSelected(true);else修改.setEnabled(false);String warning=该学号不存在?;JOptionPane.showMessageDialog(null,warning, 警 告,JOptionPane.WARNING_MESSAGE);else修改.

36、setEnabled(false);String warning=必须输入学号?;JOptionPane.showMessageDialog(null,warning, 警 告,JOptionPane.WARNING_MESSAGE);class ModifyAct implements ActionListener【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.public void actionPerformed(ActionEvent e)String number=学号.getText();String name=姓名.getText();String specialt

37、y=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()sex=男.getText();elsesex=女.getText();Student 学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);tryoutOne=new FileOut

38、putStream(file);outTwo=new ObjectOutputStream(outOne);学生散列表.put(number, 学生);outTwo.writeObject(学生散列表);outTwo.close();outOne.close();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);catch(Exception ee)System.out.println(录入修改出现异常!);修改.setEnabled(false);class DeleteA

39、ct implements ActionListenerpublic void actionPerformed(ActionEvent e)修改.setEnabled(false);String number=学号.getText();if(number.length()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catch(Exception ee)if(学生散列表.

40、containsKey(number)【精品文档】如有侵权,请联系网站删除,仅供学习与交流.精品文档.Student stu=(Student)学生散列表.get(number);姓名.setText(stu.getName();专业.setText(stu.getSpecialty();年级.setText(stu.getGrade();出生.setText(stu.getBorth();if(stu.getSex().equals( 男)男.setSelected(true);else女.setSelected(true);String m=确定要删除该学生的记录吗?;int ok=JOp

41、tionPane.showConfirmDialog(null,m,确认,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok=JOptionPane.YES_OPTION)学生散列表.remove(number);tryoutOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);outTwo.writeObject(学生散列表);outTwo.close();outOne.close();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);catch(Exception ee)System.out.println(ee);else if(ok=JOptionPane.NO_OPTION)学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论