Java课程设计报告-学生信息管理系统
JAVA学生信息管理系统实验报告
JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。
并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。
五、实验任务设计学生信息管理系统。
要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。
而普通用户只可以查找学生信息。
2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。
六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学生信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17;public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使用学生管理系统",JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使用");menu2=new JMenu("用户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学生信息");a13=new JMenuItem("更改学生信息");a14=new JMenuItem("删除学生信息");a15=new JMenuItem("添加学生信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学生登录");a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加用户");a22=new JMenuItem("删除用户");a23=new JMenuItem("更改用户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆");pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11);menu1.addSeparator(); menu1.add(a16);menu1.addSeparator(); menu1.add(a17);menu1.addSeparator(); menu1.add(a12);menu1.addSeparator(); menu1.add(a13);menu1.addSeparator(); menu1.add(a14);menu1.addSeparator(); menu1.add(a15);menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22);menu2.addSeparator(); menu2.add(a23);menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();}if(temp==a15){AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();}if(temp==a3){SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();lear();}con.close();}catch(SQLException e){System.out.println(e);}}}}主页面class Login{void Login(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("用户名");JLabel label2=new JLabel("密码");loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 50, 50);label2.setBounds(80, 200, 50, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql,st;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();st=con.createStatement();rs=sql.executeQuery("SELECT username,password FROM users where username='"+name+"'");if(!rs.next()){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"账号有误" ,"消息对话框",RMATION_MESSAGE);}else{String username=rs.getString(1);String pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){st.executeUpdate("INSERT INTO Login VALUES('"+username+"','"+pass+"')");loginframe.dispose();JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);}else{text1.setText("");text2.setText("");JOptionPanea=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}void Clear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM Login");con.close();}catch(SQLException e){System.out.println(e);}}}管理员登陆与权限class superlog{superlog(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("超级用户名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();@SuppressWarnings("deprecation")String password=text2.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECT Cusername,Cpassword FROM super where Cusername='"+name+"'");if(!rs.next())JOptionPane b=new JOptionPane();b.showMessageDialog(null,"超级账号错误" ,"消息对话框",RMATION_MESSAGE);}else{String username=null;String pass=null;username=rs.getString(1);pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){sql.executeUpdate("INSERT INTO superlog VALUES('"+username+"',"+"'"+pass+"')");JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}public void superlog() {// TODO Auto-generated method stub }void Cclear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM superlog");con.close();}catch(SQLException e){System.out.println(e);}}}超级管理员登陆界面与权限class stuLogin{void stuLogin(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(15);final JPasswordField text2=new JPasswordField(15);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel(" 学生姓名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECTsname,sphone FROM student where sname='"+name+"' AND sphone='"+password+"'");if(rs.next()){JOptionPane a=new JOptionPane();a.showMessageDialog(null,"登陆成功","消息对话框" ,RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或密码有误","消息对话框" ,RMATION_MESSAGE);}con.close();}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}}普通学生登陆与权限class ShowStu{void ShowStu(){JFrame frame1=new JFrame("学生信息窗口");frame1.setBounds(300,300,500,400);frame1.setDefaultCloseOperation(2);JTable table;Object a[][]=null;Object name[]={"学号","姓名","年龄","性别","籍贯","电话"};Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan",""," ");st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITI VE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery("SELECT * FROM student");st();int lastnumber=rs.getRow();a=new Object[lastnumber][6];int i=0;rs.beforeFirst();while(rs.next()){a[i][0]=rs.getString(1);a[i][1]=rs.getString(2);a[i][2]=rs.getString(3);a[i][3]=rs.getString(4);a[i][4]=rs.getString(5);a[i][5]=rs.getString(6);i++;}con.close();}catch(SQLException e){System.out.println(e);}table=new JTable(a,name);frame1.setLayout(new BorderLayout());frame1.add(newJScrollPane(table),BorderLayout.CENTER);frame1.setVisible(true);frame1.validate();}}class AlterStu{void AlterStu(){JFrame deleteframe=new JFrame("更改学生信息");deleteframe.setLayout(null);JLabel label=new JLabel("需要修改的学生学号",JLabel.CENTER);deleteframe.setVisible(true);deleteframe.setBounds(350,350,450,350);JButton btn=new JButton("确定");deleteframe.add(label);label.setForeground(Color.red);final JTextField text=new JTextField(10);text.setSize(100,60);deleteframe.add(text);deleteframe.add(btn);label.setBounds(150, 50, 150, 20);text.setBounds(150, 100, 100, 20);btn.setBounds(150, 150, 100, 20);btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String sno=text.getText();Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();rs=st.executeQuery("SELECT * FROM student WHERE sno=+'"+sno+"'");if(rs==null){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"该学生不存在" ,"消息对话框",RMATION_MESSAGE);}else{rs.next();final String no1=rs.getString(1);final String name1=rs.getString(2);final String age1=rs.getString(3);final String sex1=rs.getString(4);final String address1=rs.getString(5);final String phone1=rs.getString(6);JFrame addframe=new JFrame("修改学生信息");addframe.setDefaultCloseOperation(2);addframe.setBounds(400,200,450,600);addframe.setVisible(true);addframe.setResizable(true);addframe.validate();addframe.setLayout(newBorderLayout());Box basebox,box1,box2,box3,box4;basebox=Box.createHorizontalBox();box1=Box.createVerticalBox();box2=Box.createVerticalBox();box3=Box.createVerticalBox();box4=Box.createVerticalBox();JLabel no=new JLabel("学号");JLabel name=new JLabel("姓名");JLabel age=new JLabel("年龄");box1.add(Box.createVerticalStrut(90));box1.add(no);box1.add(Box.createVerticalStrut(90));box1.add(name);box1.add(Box.createVerticalStrut(90));box1.add(age);JLabel sex=new JLabel("性别");JLabel address =new JLabel("籍贯");JLabel phone=new JLabel("电话");box3.add(Box.createVerticalStrut(90));box3.add(sex);box3.add(Box.createVerticalStrut(90));box3.add(address);box3.add(Box.createVerticalStrut(90));box3.add(phone);final JTextField notext=new JTextField(15);final JTextField nametext=new JTextField(15);final JTextField agetext=new JTextField(15);final JTextField sextext=new JTextField(15);final JTextField addresstext=new JTextField(15);final JTextField phonetext=new JTextField(15);box2.add(Box.createVerticalStrut(90));box2.add(notext);box2.add(Box.createVerticalStrut(90));box2.add(nametext);box2.add(Box.createVerticalStrut(90));box2.add(agetext);box4.add(Box.createVerticalStrut(90));box4.add(sextext);box4.add(Box.createVerticalStrut(90));box4.add(addresstext);box4.add(Box.createVerticalStrut(90));box4.add(phonetext);basebox.add(box1);basebox.add(box2);basebox.add(box3);basebox.add(box4);。
java学生信息管理系统课程设计
java学生信息管理系统课程设计一、课程目标知识目标:1. 理解Java面向对象编程的基本概念,掌握类与对象的关系、封装、继承和多态性;2. 学会使用Java集合框架管理学生信息,掌握ArrayList、HashMap等常用集合类的使用方法;3. 掌握Java异常处理机制,提高程序的健壮性;4. 理解数据库基本概念,学会使用SQLite数据库存储和管理学生信息。
技能目标:1. 能够运用面向对象思想设计学生信息管理系统,实现学生信息的增删改查功能;2. 能够使用Java集合框架对学生信息进行有效管理;3. 能够编写简单的数据库操作语句,实现对学生信息的数据存储和查询;4. 能够运用所学知识解决实际问题,具备一定的编程实践能力。
情感态度价值观目标:1. 培养学生团队协作精神,提高沟通与协作能力;2. 增强学生编程兴趣,激发创新意识,培养探索精神;3. 培养学生良好的编程习惯,注重代码规范和程序优化;4. 培养学生严谨的学习态度,面对问题敢于挑战,勇于克服困难。
课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的编程能力和实际应用能力。
学生特点:学生具备一定的Java基础,了解面向对象编程概念,但对实际项目开发经验不足。
教学要求:结合学生特点和课程性质,采用项目驱动教学法,引导学生自主探究,注重实践操作,提高学生的编程能力和解决问题的能力。
同时,关注学生的情感态度价值观培养,提高学生的综合素质。
通过本课程的学习,使学生能够独立完成一个简单的学生信息管理系统,为后续学习打下坚实基础。
二、教学内容1. 面向对象编程基础- 类与对象的关系- 封装、继承和多态性- 抽象类和接口2. Java集合框架- ArrayList、LinkedList、HashSet、HashMap等常用集合类- 集合类的使用场景和性能分析3. Java异常处理- 异常分类和异常处理机制- try-catch-finally结构- 自定义异常4. 数据库基础- 数据库概念和SQLite数据库- 数据表的设计与创建- SQL语句:增删改查操作5. 学生信息管理系统功能模块- 系统需求分析- 功能模块划分:学生信息管理、成绩管理、课程管理等- 编程实现各模块功能6. 项目实践与拓展- 系统测试与调试- 代码优化与重构- 项目拓展:增加用户权限管理、数据可视化等教学内容安排与进度:第一周:面向对象编程基础第二周:Java集合框架第三周:Java异常处理第四周:数据库基础第五周:学生信息管理系统功能模块设计第六周:项目实践与拓展教材关联:本教学内容与《Java程序设计》教材相关章节紧密关联,涵盖了面向对象编程、Java集合框架、异常处理和数据库基础等知识点。
学生管理系统JAVA课课程设计
学生管理系统JAVA课课程设计一、教学目标本课程的目标是让学生掌握学生管理系统的Java编程知识,能够运用Java语言实现一个简单的学生管理系统。
具体目标如下:1.知识目标:–理解Java语言的基本语法和数据结构。
–掌握Java中的控制结构和面向对象编程思想。
–了解Java中的文件操作和数据库连接。
2.技能目标:–能够使用Java编写简单的程序,实现学生的增删改查功能。
–能够使用Java连接数据库,实现对学生信息的持久化存储。
–能够使用Java的文件操作,读写学生数据。
3.情感态度价值观目标:–培养学生的编程兴趣,提高学生解决问题的能力。
–培养学生团队协作的精神,提高学生的沟通表达能力。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.Java语言基础:包括基本语法、数据类型、变量、运算符等。
2.控制结构:包括条件语句、循环语句等。
3.面向对象编程:包括类、对象、继承、多态等。
4.文件操作:包括文件的读写、文件管理等。
5.数据库连接:包括JDBC的概念、数据库的连接与操作等。
6.学生管理系统的设计与实现:包括系统需求分析、系统设计、功能实现等。
三、教学方法为了达到课程目标,本课程将采用以下几种教学方法:1.讲授法:用于讲解Java语言基础、控制结构、面向对象编程等理论知识。
2.案例分析法:通过分析实际案例,让学生理解并掌握文件操作和数据库连接的方法。
3.实验法:让学生动手编写代码,实现学生管理系统,提高学生的实际操作能力。
4.小组讨论法:分组让学生讨论问题,培养学生的团队协作和沟通能力。
四、教学资源为了支持课程的顺利进行,我们将准备以下教学资源:1.教材:《Java编程思想》等。
2.参考书:《Java核心技术》、《Java Web开发》等。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、网络环境、数据库服务器等。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以保证评估的客观性和公正性。
java学生管理系统课程设计报告
Java学生管理系统课程设计报告1. 引言学生管理系统是针对学校或教育机构开发的一款软件系统,旨在方便学校管理学生信息、课程安排和学生成绩等方面的工作。
本报告将详细介绍Java学生管理系统的设计与实现过程。
2. 系统需求分析学生管理系统通常需要具备以下功能:•学生信息管理:包括学生基本信息的录入、修改、删除和查询等操作。
•课程管理:可以添加、编辑、删除课程信息,并能将课程分配给相应的学生。
•成绩管理:记录学生的成绩,并可以按照课程和学生进行查询和统计。
•用户权限管理:对不同的系统用户进行权限管理,确保系统安全和数据保密性。
根据需求分析,我们将使用Java编程语言来设计和实现学生管理系统。
3. 系统设计3.1 技术选型本系统将使用Java语言进行开发,选择使用Java的原因如下:•Java具有较高的跨平台性,可以在不同的操作系统上运行。
•Java拥有丰富的类库和开发工具,可以方便地进行系统开发和维护。
•Java具有良好的面向对象特性,可以实现系统的模块化设计和复用。
3.2 系统结构设计学生管理系统可以按照MVC(Model-View-Controller)设计模式进行结构设计。
具体的系统结构如下:•模型(Model):负责处理与数据相关的操作,包括学生信息、课程和成绩等的存储和管理。
•视图(View):负责显示系统界面和获取用户输入,将用户的操作请求传递给控制器。
•控制器(Controller):负责处理用户的操作请求,调用模型和视图来完成相应的业务逻辑。
3.3 类设计系统将包括以下核心类:•学生管理类(StudentManager):负责学生信息的添加、修改、查询和删除等操作。
•课程管理类(CourseManager):负责课程信息的添加、修改、查询和删除等操作。
•成绩管理类(ScoreManager):负责学生成绩的录入、查询和统计等操作。
•用户权限管理类(UserManager):负责用户的登录和权限管理。
java学生信息管理系统实验报告(共10篇)
java学生信息管理系统实验报告(共10篇)JAVA学生信息管理系统实验报告JAVA程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK1.6,my eclipse或者EditPlus编程工具。
并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。
五、实验任务设计学生信息管理系统。
要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。
而普通用户只可以查找学生信息。
2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。
六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args){FirstWindow win =new FirstWindow(学生信息管理系统); }}class FirstWindow extends JFrame implements ActionListener {JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17; public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel(欢迎使用学生管理系统,JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu(使用);menu2=new JMenu(用户管理);menu3=new JMenu(帮助);menu4=new JMenu(退出);a11=new JMenuItem(管理员登录);a12=new JMenuItem(查询学生信息);a13=new JMenuItem(更改学生信息);a14=new JMenuItem(删除学生信息);a15=new JMenuItem(添加学生信息);a16=new JMenuItem(超级管理员登录);篇二:java学生成绩管理系统实验报告JAVA课内实验报告学生成绩管理系统一. 实验目的及实验环境实验目的:在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。
java web学生管理系统课设报告
Java Web学生管理系统课设报告一、引言1.1 课题背景随着信息化技术的发展,学校需要一种能够方便管理学生信息的系统,以提高管理效率。
因此,开发一款基于Java Web的学生管理系统具有重要意义。
1.2 目的和意义本课题旨在设计和实现一个基于Java Web的学生管理系统,通过该系统实现学生信息的录入、查询、修改、删除等操作,从而方便学校对学生信息的管理,提高管理效率。
1.3 任务和要求本课题的任务是设计和实现一个基于Java Web的学生管理系统,要求系统能够实现以下功能:学生信息录入、查询、修改、删除等操作;学生信息按班级、学号、姓名等条件进行查询;数据持久化存储等。
二、系统分析2.1 系统需求分析根据学校对学生信息管理的实际需求,本系统需要实现以下功能:学生信息录入、查询、修改、删除等操作;学生信息按班级、学号、姓名等条件进行查询;数据持久化存储等。
2.2 业务流程分析学生管理系统的业务流程主要包括:学生信息录入、查询、修改、删除等操作。
其中,学生信息录入是整个业务流程的起点,通过录入学生信息,将数据存储到数据库中。
然后,可以通过查询功能根据不同条件对学生信息进行查询。
当学生信息需要修改或删除时,可以通过相应的操作进行修改或删除。
2.3 数据流程分析学生管理系统的数据流程主要包括:数据输入、数据处理和数据输出三个部分。
其中,数据输入主要是学生信息的录入;数据处理主要是对学生信息进行查询、修改、删除等操作;数据输出主要是将处理后的学生信息展示给用户。
在整个数据流程中,需要保证数据的准确性和完整性。
三、系统设计3.1 系统架构设计本系统采用MVC设计模式进行开发,分为模型层、视图层和控制层三个部分。
模型层主要负责业务逻辑的处理和数据的封装;视图层主要负责用户界面的展示;控制层主要负责接收用户的请求并调用模型层进行处理,然后将结果返回给视图层展示给用户。
3.2 数据库设计本系统采用MySQL数据库进行数据的存储和处理。
JAVA学生信息管理系统实验报告
JAVA学生信息管理系统实验报告一、实验目的1. 掌握Java面向对象编程思想;2. 熟悉Java GUI编程基本知识;3. 熟悉Java文件读写操作;4.培养实际问题分析及解决能力。
二、实验要求设计并实现一个Java学生信息管理系统,具备以下功能:1.界面要简洁、美观,方便用户操作;2.能够实现学生信息的录入、查询、修改、删除和展示功能;3.学生信息至少包括学号、姓名、性别、年龄、院系等基本信息;4.学生信息的存储要求使用文件保存。
三、实验设计1. 界面设计:使用Java Swing库设计界面,包括菜单栏、工具栏、按钮、文本框等组件,通过布局管理器实现界面的合理布局;2. 文件读写操作:使用Java的文件读写类实现学生信息的读取、保存和更新,例如使用FileReader、FileWriter等类;3. 数据结构设计:定义一个学生类,包含学号、姓名、性别、年龄、院系等成员变量,实现get和set方法;4.功能实现:根据用户的操作,实现学生信息的录入、查询、修改、删除等功能。
四、实验步骤1.创建项目并导入相关库文件;2.创建学生类,定义学生的基本信息和操作方法;3.创建主界面,包括菜单栏、工具栏、按钮等组件,并设置布局管理器;4.编写界面事件监听器,实现按钮的点击响应;5.实现学生信息录入功能,包括将信息写入文件;6.实现学生信息查询功能,读取文件中的学生信息并展示;7.实现学生信息修改和删除功能,更新文件中的学生信息;8.编写实验报告。
五、实验结果成功实现了Java学生信息管理系统,具备录入、查询、修改和删除功能。
主界面简洁美观,用户操作便捷。
学生信息存储在文件中,可以进行读写操作。
六、实验心得通过这次实验,我进一步熟悉了Java面向对象编程思想和GUI编程基本知识。
实践中,我遇到了一些问题,例如界面布局、事件监听和文件读写等方面,但通过查找资料和反复调试,最终解决了这些问题。
通过这个实验,我对Java的掌握程度更加深入了解,提高了实际问题分析及解决能力。
java课程设计学生信息管理系统设计总结
java课程设计学生信息管理系统设计总结一、背景在本次Java课程设计中,我选择了“学生信息管理系统”作为设计主题。
目的是通过这一实践项目,深入掌握Java编程的核心知识,提升解决实际问题的能力,并为学生信息管理提供一个简洁、高效、易用的工具。
二、系统设计1. 需求分析:首先,我详细分析了学生信息管理的基本需求,包括学生基本信息的录入、查询、修改和删除,以及数据的持久化存储等。
2. 架构设计:基于MVC(Model-View-Controller)模式,我设计了系统的整体架构。
Model层负责数据处理和存储,View层提供用户界面,Controller层则负责业务逻辑的处理。
3. 数据库设计:使用关系型数据库(如MySQL)存储学生信息,设计了合理的数据表结构,包括学生表、课程表、成绩表等。
4. 界面设计:采用Java Swing或JavaFX框架,设计了直观、友好的用户界面,方便用户进行操作。
三、功能实现1. 基本功能:实现了学生信息的录入、查询、修改和删除功能。
通过SQL语句与数据库进行交互,实现了数据的增删改查。
2. 高级功能:根据学生选课情况,实现了课程管理和成绩管理的功能。
同时,加入了数据校验和错误处理机制,提高了系统的健壮性。
3. 优化与扩展:考虑到系统性能和可扩展性,采用了连接池技术优化数据库连接。
同时,预留了接口,方便未来功能的扩展。
四、遇到的问题与解决方案1. 数据库连接问题:最初在连接数据库时遇到了困难。
通过查阅文档和调试代码,最终解决了连接配置的问题。
2. 界面布局问题:在设计用户界面时,遇到了布局不合理的问题。
通过调整组件的位置和大小,以及使用布局管理器,最终实现了满意的界面效果。
3. 性能优化问题:在系统测试阶段发现性能瓶颈。
通过优化SQL 语句、使用索引和缓存技术等手段,提高了系统的运行效率。
五、收获与展望通过本次课程设计,我深刻体会到了Java编程的魅力和挑战。
在实际开发过程中,我不仅掌握了Java的核心知识和相关技术,还学会了如何分析问题、设计方案和解决问题。
java课程设计学生信息管理系统
java课程设计学生信息管理系统一、教学目标本节课的教学目标是使学生掌握Java编程语言的基本语法和编程技巧,能够运用Java语言实现简单的学生信息管理系统。
具体目标如下:1.知识目标:–掌握Java语言的基本语法和数据结构;–理解面向对象编程的基本概念和方法;–了解学生信息管理系统的功能和结构。
2.技能目标:–能够使用Java语言编写简单的程序;–能够运用面向对象编程方法设计和实现学生信息管理系统;–能够对程序进行调试和优化。
3.情感态度价值观目标:–培养学生的编程兴趣和自主学习能力;–培养学生解决问题的能力和团队合作精神;–使学生认识到计算机技术在现实生活中的重要性和应用价值。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法和数据结构;2.面向对象编程的基本概念和方法;3.学生信息管理系统的功能和结构;4.学生信息管理系统的实现和优化。
具体安排如下:1.第1-2课时:讲解Java语言的基本语法和数据结构;2.第3-4课时:讲解面向对象编程的基本概念和方法;3.第5-6课时:介绍学生信息管理系统的功能和结构;4.第7-8课时:引导学生实现和优化学生信息管理系统。
三、教学方法本节课采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解Java语言的基本语法和数据结构,面向对象编程的基本概念和方法;2.案例分析法:分析实际的学生信息管理系统的案例,使学生更好地理解理论知识;3.实验法:引导学生动手实现和优化学生信息管理系统,提高学生的实际编程能力。
四、教学资源本节课所需的教学资源包括:1.教材:Java编程语言相关教材;2.参考书:面向对象编程相关参考书;3.多媒体资料:讲解Java语言和面向对象编程的PPT;4.实验设备:计算机和网络设备,以便进行编程实践。
五、教学评估本节课的教学评估将采用多元化评价方式,以全面、客观、公正地评估学生的学习成果。
学生信息管理系统课程设计java
学生信息管理系统课程设计 java一、课程目标知识目标:1. 让学生理解学生信息管理系统的基本概念,掌握Java语言实现该系统的核心知识,包括类的定义、对象的使用、集合框架等。
2. 使学生掌握如何使用Java编写数据库连接程序,实现对数据库的增、删、改、查等基本操作。
3. 帮助学生了解Java GUI编程,能够使用Swing组件设计出友好的用户界面。
技能目标:1. 培养学生运用Java语言设计并实现学生信息管理系统,提高编程实践能力。
2. 培养学生分析问题、解决问题的能力,能够根据需求独立完成系统功能模块的设计与实现。
3. 培养学生具备一定的项目开发经验,能够进行团队合作,分工协作完成项目。
情感态度价值观目标:1. 激发学生对Java编程的兴趣,培养其主动学习的习惯,提高学习积极性。
2. 培养学生具备良好的编程习惯,注重代码规范,提高代码质量。
3. 培养学生的团队协作意识,使其认识到团队协作的重要性,学会与他人共同解决问题。
课程性质:本课程为实践性较强的Java语言课程,以项目驱动的方式进行教学,旨在提高学生的编程能力、项目开发能力和团队协作能力。
学生特点:学生已具备一定的Java基础,具有一定的编程能力,但缺乏实际项目经验和团队协作能力。
教学要求:结合学生特点,注重实践操作,引导学生主动参与,充分调动学生的积极性,培养其编程实践和团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. Java基础回顾:包括类与对象、继承与多态、集合框架等基础知识,对应教材第一章至第四章。
- 类与对象:定义类、创建对象、封装、构造方法等。
- 继承与多态:继承的概念、方法重写、多态性等。
- 集合框架:常用集合类、迭代器、泛型等。
2. 数据库连接与操作:学习JDBC技术,实现与数据库的连接、数据查询、插入、删除和修改操作,对应教材第五章。
- JDBC概念与使用:理解JDBC的作用,掌握JDBC API的使用。
java课程设计学生信息管理系统
java课程设计学生信息管理系统一、课程目标知识目标:1. 理解并掌握Java语言面向对象编程的基本概念,包括类、对象、封装、继承和多态;2. 学会运用Java语言构建学生信息管理系统,掌握基本的软件开发流程;3. 熟悉并掌握Java集合框架的使用,如List、Map等,用于存储和管理学生数据;4. 了解并运用Java异常处理机制,提高程序的稳定性和可靠性。
技能目标:1. 能够运用面向对象思想设计合理的类和对象,实现学生信息管理系统的功能模块;2. 掌握使用Java编写数据库连接代码,实现数据的持久化存储;3. 能够运用调试工具进行程序调试,找出并修复程序中的错误;4. 学会使用Java编写用户界面,实现用户与程序的交互。
情感态度价值观目标:1. 培养学生的团队协作精神,学会与他人共同完成项目任务;2. 增强学生的编程自信心,激发对计算机编程的兴趣和热情;3. 培养学生严谨、细心的编程习惯,提高编程素养;4. 培养学生解决问题的能力,使学生能够运用所学知识解决实际问题。
课程性质:本课程为实践性较强的Java编程课程,结合实际项目需求,培养学生的编程能力和实际应用能力。
学生特点:学生已具备一定的Java基础,了解基本的编程概念,但对面向对象编程和实际项目开发尚缺乏深入了解。
教学要求:注重理论与实践相结合,引导学生运用所学知识解决实际问题,提高学生的编程能力和项目开发能力。
在教学过程中,关注学生的个体差异,提供针对性的指导,确保每位学生都能在课程中取得实际的学习成果。
通过本课程的学习,使学生能够独立完成学生信息管理系统的设计与开发。
二、教学内容1. 面向对象编程基础:- 类与对象的概念及其关系- 封装、继承和多态的特性与应用- Java集合框架的使用,包括List、Set、Map等接口及其实现类2. 数据库连接与操作:- JDBC简介及其使用方法- 数据库连接、查询、更新等基本操作- SQL语句的编写与执行3. 学生信息管理系统功能模块设计:- 系统需求分析- 功能模块划分与设计- 类的设计与实现4. 编程实践:- 设计学生类、课程类等实体类- 实现学生信息增删改查功能- 数据的持久化存储与读取5. 用户界面设计:- Java图形用户界面编程基础- 常用组件的使用,如JFrame、JButton、JTable等- 事件处理机制6. 程序调试与优化:- 异常处理机制- 使用调试工具进行程序调试- 优化代码,提高程序性能教学内容安排与进度:1. 第1-2周:面向对象编程基础,学习类与对象、封装、继承和多态等概念;2. 第3-4周:数据库连接与操作,学习JDBC以及SQL语句;3. 第5-6周:学生信息管理系统功能模块设计,进行需求分析和模块设计;4. 第7-8周:编程实践,实现系统的各个功能;5. 第9-10周:用户界面设计,学习图形用户界面编程和事件处理;6. 第11-12周:程序调试与优化,修复程序错误,提高程序性能。
学生管理系统java课程设计
学生管理系统 Java 课程设计本文介绍了一个简单的学生管理系统 Java 课程设计,包括系统的需求分析、数据库设计、界面设计和功能实现等方面,旨在为初学者提供一个参考。
下面是本店铺为大家精心编写的3篇《学生管理系统 Java 课程设计》,供大家借鉴与参考,希望对大家有所帮助。
《学生管理系统 Java 课程设计》篇1一、需求分析本系统旨在实现对学生信息的管理,包括学生的学号、姓名、性别、出生日期、政治面貌、家庭住址、电话、宿舍号等信息。
系统需要提供查询、增、删、改等功能,数据存储可以使用数据库或文件。
二、数据库设计本系统采用 MySQL 数据库进行数据存储,创建一个名为“student”的数据表,包含以下字段:- 学号:id- 姓名:name- 性别:gender- 出生日期:birthday- 政治面貌:politics- 家庭住址:address- 电话:phone- 宿舍号:dormitory三、界面设计本系统采用 Java Swing 进行界面设计,主要包括以下组件:- 主界面:包含学生信息查询、添加、修改、删除等功能按钮。
- 学生信息查询界面:显示学生的详细信息,包括学号、姓名、性别、出生日期、政治面貌、家庭住址、电话、宿舍号等。
- 学生信息添加界面:允许用户输入学生的信息,并保存到数据库中。
- 学生信息修改界面:允许用户修改学生的信息,并保存到数据库中。
- 学生信息删除界面:允许用户选择要删除的学生信息,并从数据库中删除。
四、功能实现本系统的功能实现主要包括以下几个方面:1. 学生信息查询用户可以在主界面点击“查询”按钮,进入学生信息查询界面。
在查询界面,用户可以输入学号或姓名等查询条件,系统会显示符合条件的学生信息。
2. 学生信息添加用户可以在主界面点击“添加”按钮,进入学生信息添加界面。
在添加界面,用户需要输入学生的详细信息,如学号、姓名、性别、出生日期、政治面貌、家庭住址、电话、宿舍号等。
java信息管理系统课程设计
java信息管理系统课程设计一、课程目标知识目标:1. 理解Java语言在信息管理系统中的应用,掌握Java基础语法和数据结构;2. 学会使用Java编写简单的信息管理系统功能,如用户登录、数据增删改查等;3. 了解数据库连接和SQL语句在Java中的应用,能够实现简单的数据库操作。
技能目标:1. 能够运用所学知识,设计并实现一个简单的信息管理系统;2. 掌握Java编程规范,养成良好的编程习惯,提高代码质量;3. 学会使用调试工具和技巧,解决编程过程中遇到的问题。
情感态度价值观目标:1. 培养学生对信息管理系统的兴趣,激发学习主动性和积极性;2. 培养学生的团队协作能力,学会与他人共同解决问题;3. 增强学生的自信心,让他们认识到自己在编程方面的潜力。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为实践性较强的课程,旨在让学生通过实际操作,掌握Java语言在信息管理系统中的应用;2. 学生特点:学生具备一定的Java基础,对编程有一定兴趣,但实践经验和团队协作能力有待提高;3. 教学要求:注重理论与实践相结合,充分调动学生的积极性,培养学生的实际操作能力和团队协作能力。
1. 独立设计并实现一个简单的信息管理系统;2. 掌握Java编程规范,编写高质量的代码;3. 学会与他人合作,共同解决编程过程中遇到的问题;4. 提高自身在编程方面的自信心和兴趣。
二、教学内容1. Java基础语法回顾:变量、数据类型、运算符、控制流程(条件语句、循环语句)等;2. 面向对象编程:类与对象、封装、继承、多态等;3. 常用数据结构:数组、集合(List、Set、Map)等;4. 异常处理:try-catch-finally结构,自定义异常等;5. 文件操作:文件的读取与写入,文件的随机访问等;6. 数据库连接:JDBC概述,数据库连接与操作,SQL语句执行等;7. 信息管理系统功能实现:用户登录、数据增删改查等;8. 项目实践:分组进行项目设计,实现一个简单的信息管理系统。
java课程设计——学生信息管理系统
一.引言1.1项目的名称学生信息管理系统1.2项目背景和目标学生信息管理系主要对在校学生的个人基本信息以及成绩信息进行管理,对教师用户提供查询信息、增添信息、删除信息等操作功能;对学生用户提供成绩查询功能。
我们的目标就是为该系统提供后台连接数据库程序设计以及前台用户界面设1.3项目的可行性研究设计此系统需要java面向对象编程基础,数据库应用知识以及功能分析。
根据目前所开设的课程,学生已经具备这样的知识,有能力综合java编程知识和数据库应用知识做出一个这样的学生信息管理系统二、需求分析2.1系统概述此系统提供给教师用户和学生用户。
教师登陆后可以对学生基本信息表和学生成绩表进行查看、增添新记录和删除记录等操作。
学生登陆后能查询自己的成绩2.2系统运行环境Java运行在eclipse软件上,数据库用mysql数据库2.3功能需求描述学生信息管理系统要面对教师和学生用户。
对于教师,需要查询全部学生的基本信息和成绩信息,并且可以对其进行修改。
对于学生,不需要查询自己的基本信息,只需要查询成绩。
为了保护学生成绩隐私,每位学生登录系统后只能查询自己的成绩,而无法看到别人的成绩三、系统设计3.1开发与设计的总体思想教师方面:教师通过自己的用户名和密码登录后,进入教师主界面,在这个主界面里,可以选择要操作的类别,即查询功能还是修改功能。
在查询功能里面,可以选择是查询学生基本信息,还是查询学生成绩信息。
在查询学生基本信息时,可以从依据不同字段,即学生信息表的不同属性进行查找。
在查找学生成绩信息时,只能依据学生姓名和学号进行查找。
在修改功能里面,包括对学生基本信息表和学生成绩表进行增加和删除记录学生方面:学生通过自己的用户名和密码登录此系统后,可以查询自己本学期的各科成绩信息3.2系统模块结构图3.3数据库结构设计为了支持此学生信息管理系统,创建数据库studentmanage。
在这个数据库中包含四个表:student表,teacher表,studentlogin表和score表。
JAVA程序设计报告学生信息管理系统
JAVA程序设计报告学生信息管理系统学生信息管理系统是一种用来管理学生个人信息的软件系统。
该系统能帮助学校或教育机构高效地管理学生信息,包括个人信息、课程成绩、出勤情况等。
本报告将介绍一个基于JAVA的学生信息管理系统的设计和实现。
一、系统需求分析学生信息管理系统主要应具备以下功能:1.学生信息的录入和修改:管理员可以通过系统录入学生的基本信息,如学号、姓名、性别、年龄等,并可以修改学生信息。
2.学生信息的查询和浏览:用户可以通过系统按照学号或姓名查询学生信息,并浏览所有学生的信息。
3.成绩管理:系统可以记录、查询和统计学生的课程成绩。
管理员可以录入学生的课程成绩,并可以查询学生的成绩,并可以按照成绩进行排序和统计分析。
4.出勤管理:系统可以记录学生的出勤情况,包括请假、迟到、旷课等。
管理员可以录入学生的出勤情况,并可以查询学生的出勤记录。
二、系统设计与实现1.数据库设计系统使用MySQL数据库,设计了两个表,分别是学生信息表(student_info)和成绩表(score_info)。
学生信息表包含学号(student_id)、姓名(name)、性别(gender)、年龄(age)等字段,成绩表包含学号(student_id)、课程名称(course_name)、成绩(score)等字段。
2.界面设计系统的界面采用图形化界面,使用JAVA Swing框架设计。
主要包括登录界面、学生信息管理界面、成绩管理界面和出勤管理界面。
3.功能实现系统使用JAVA编程语言进行实现。
通过使用JDBC连接数据库,并使用SQL语句实现学生信息的录入、查询和修改,以及成绩和出勤管理功能。
系统还进行了输入验证,确保输入的数据符合规定的格式。
4.测试与优化在系统开发完成后,需要进行系统的测试和优化。
通过对系统进行功能测试,验证系统的各项功能是否正常运行。
根据测试结果,对系统进行优化,提高系统的性能和用户体验。
三、总结与展望本报告介绍了一个基于JAVA的学生信息管理系统的设计和实现。
java课程设计学生管理系统报告
《Java程序设计》课程设计报告题目:学生管理系统专业:计算机科学与技术班级:学号:姓名:指导教师:完成日期:2013 年月日一、课程设计目的本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。
设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析、解决实际问题的能力。
通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。
同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。
二、课程设计内容基于文件结构的学生管理系统,可以实现对学生信息的日常管理,可以实现以下要求:(1)实现学生信息录入的功能界面;(2)实现学生信息修改的功能界面;(3)实现学生信息查询的功能界面;(4)实现学生信息删除的功能界面;[选作内容](1)实现学生信息的分类管理;(2)学生信息管理中的优化;二、课程设计过程1.需求分析学生日常管理软件按以下步骤实现:1.登陆界面,有两个选择,一个是学生用户,一个是管理员用户,2.学生用户:可以查询个人信息,修改登陆密码,3.管理员用户:增加,查询,修改,删除学生信息,4.学生信息,用户密码,用户名的存储信息由SQL实现。
(1) 输入的形式和输入值的范围;输入形式以字符串为主。
输入值的范围:登陆界面学生信息:(2) 输出的形式;数据库的数据都是以varchar数据类型,到java前台自动转换成string类型。
(3) 程序所能达到的功能;学生用户可以查询信息,更改账户密码,管理员可以对学生信息进行插入,修改,查询,删除操作。
(4) 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。
JAVA课程设计报告学生信息管理系统
JAVA程序设计课程设计报告课题: 学生信息管理系统姓名:学号: 4同组姓名:专业班级:网络工程11102班指导教师:设计时间:2013-6-24评阅意见:评定成绩:指导老师签名:年月日目录1. 系统描述 (3)1.1设计目的 (3)1.2 需求分析 (3)1.21 设计任务要求 (3)1.2 2系统功能需求分析 (3)1.23界面构建 (3)2.分析与设计 (3)2.1功能模块分析 (3)2.11图形用户界面的设计 (3)2.12个人信息管理模块 (3)2.13 选课信息管理模块 (3)2.14奖励信息管理模块 (3)2.4 测试数据和数据结果 (3)3.系统测试 (3)运行截图 (3)3.1用户界面 (3)3. 2个人信息管理 (3)3. 3 选课信息管理 (3)3. 4 奖励信息管理 (3)4.心得体会 (3)5.参考文献 (3)6.附录 (3)1.系统描述1.1设计目的本程序用于用户对少量学生信息进行简单的管理,本程序针对于对安全系数要求不高,操作不是很复杂的小型客户开发。
本程序可以实现对学生信息的录入、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。
同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。
本程序数据库采用SQL server2005进行数据存储,该数据库可实现关系较为简单的数据管理。
1.2 需求分析利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。
要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。
我这次的课题就是设计与实现一个学生信息管理系统。
1.21 设计任务要求该学生信息管理系统的设计要求主要有以下几点:(1)使用图形用户界面;(2)用数据库建立几个学生信息表;(3)能连接数据库并实现对学生信息查询、增、删、改等功能。
java课程设计学生信息管理系统
Java课程设计:学生信息管理系统1. 引言学生信息管理系统是一种用于学校、教育机构或大型组织管理学生信息的工具。
该系统允许教育工作者记录和查看学生的个人和学术信息,使管理和查询学生信息更加方便和高效。
本文将介绍一个基于Java语言实现的学生信息管理系统的设计和开发。
该系统将使用面向对象的编程思想,以及Java提供的各种特性和工具来实现学生信息的录入、查询和管理。
2. 功能需求学生信息管理系统应具备以下基本功能:•学生信息录入:系统允许教育工作者输入学生的基本信息,例如姓名、学号、性别、出生日期等。
这些信息应该被保存在系统的数据库或文件中供后续查询和管理。
•学籍信息管理:系统应可以记录学生的学籍信息,例如班级、专业、入学日期等。
同时,系统还应提供学籍信息的查询和修改功能。
•成绩管理:系统应允许输入和管理学生的成绩信息,包括各科成绩和学期综合成绩。
教育工作者可以通过输入学生的学号查询该学生的成绩信息。
•学生信息查询:系统应允许根据学生的学号或姓名查询学生的个人信息,学籍信息和成绩信息。
•学生信息统计:系统应提供学生信息的统计功能,例如统计学生总人数、男女比例、各专业学生人数等。
•用户权限管理:系统应具备用户权限管理功能,不同的用户可以具有不同的操作权限。
例如,管理员可以执行所有操作,而教师只能查询和管理自己所教授班级的学生信息。
3. 系统设计学生信息管理系统可以分为三层架构:表示层、业务逻辑层和数据访问层。
•表示层:表示层负责用户界面的展示和用户输入的处理。
用户可以通过表示层与系统进行交互。
•业务逻辑层:业务逻辑层负责系统的业务逻辑处理,包括对输入数据的校验和逻辑判断。
它处理来自表示层的请求,并调用数据访问层来获取数据。
•数据访问层:数据访问层负责与数据库或文件进行交互,执行数据的增删改查操作,并将结果返回给业务逻辑层。
4. 技术选择为了实现学生信息管理系统,我们选择以下技术:•Java语言:Java是一种广泛应用于企业级应用开发的编程语言,具有强大的面向对象特性和丰富的生态系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》课程设计报告题目:《**********》课程设计学院:信息工程学院姓名: *** **** ******学号: ** ** **专业:计算科学与技术班级: *****指导教师: *****2015 年 12月目录目录 (1)摘要 (2)1.引言 (3)2.设计目的与任务 (5)3. 设计方案 (6)3.1 总体设计 (6)3.2 开发环境 (6)3.3 层次图 (7)3.4 界面预览 (7)3.4.1 登录界面 (7)3.4.2 该管理员不存在( 用户名:name 用户密码:psw ) (8)3.4.3 学生信息管理界面 (8)3.4.4 填写学生信息 (9)3.4.5 录入学生信息 (9)3.4.6 查询学生信息 (9)3.4.7 修改学生信息 (10)3.4.8 删除学生信息 (10)3.4.9 显示所有学生信息 (11)4.系统说明 (12)5.设计体会与小结 (13)6.附录 (14)6.1 登录界面源代码 Login.java (14)6.2 学生信息管理系统源码 Student.java (17)摘要随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。
通过这样的系统可以做到信息的规管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
目前社会上信息管理系统发展飞快,各个企业事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。
该报告中的程序是简单的学生管理系统,该系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。
使用Java程序编写,能够进行学生信息录入、修改、查看、删除等操作。
该程序主要用到了Java swing和事件监听等。
1.引言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。
后来它的开发者们发现它还可以被用于更大围的Internet上。
1995年,Java语言的名字从Oak 编程了Java。
1997年J2SE1.1发布。
1998年J2SE1.2发布,标志Java2的诞生。
十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。
Java的体系结构由Java语言、Java class组成。
它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。
Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。
Java的平台标准有Java ME,Java SE和Java EE。
Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。
目前在众多的支持Java 的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。
其中Java Development Kit 简称JDK是大多开发工具的基础。
以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发容和软硬件环境等因素来选择一种合适的开发工具。
在本程序设计中,因为需要开发的是学生管理系统程序,规模较小,容较少,所以选择了适合初学者使用的JCreator开发工具。
2.设计目的与任务学生信息管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。
在计算机网络,数据库和先进的开发平台上,利用现有的软件、硬件资源,开发一个具有开放体系结构的,易扩充的,易维护的,具有良好人机交互界面的学生信息管理系统。
这个简单的学生信息管理系统包括以下两个基本功能:·管理员登陆·学生信息管理本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,针对这些要求设计了学生管理信息系统。
3.设计方案3.1总体设计本程序要构建的学生管理系统程序其功能有以下几个方面:(1)首先是学生管理系统主界面“管理员登录界面”。
(2)管理员登录之后的子界面“学生信息管理界面”。
(3)学生信息管理界面可对学生信息进行填写操作。
(4)学生信息管理界面底端并含有“录入、查询、修改、删除、显示”五个操作按钮。
3.2开发环境Windows XP;myeclipse-8.5.0-win323.3层次图3.4界面预览3.4.1登录界面学生信息管理系统管理员登陆学生信息管理添加学生信息查询学生信息修改学生信息删除学生信息显示学生信息3.4.2该管理员不存在( 用户名:name 用户密码:psw )3.4.3学生信息管理界面3.4.5录入学生信息3.4.6查询学生信息3.4.8删除学生信息3.4.9显示所有学生信息4.系统说明1、该系统并未使用数据库,只是把信息存放在了一个新建立的文本文档中。
2、关于管理员信息,必须现在C盘建立一个名为 Login的文本文档,在 Login中存入用户名和密码且必须分行写入。
3、若要修改学生信息必须先进行信息的查询,查询后方可进行信息修改。
5.设计体会与小结通过这次课程设计,我们大家在老师的帮助下收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。
编程是个艰难的过程,很多功能语句都需要上网或者是查其他书籍来查看他们的用法,课本上的东西对我们来说远远不够,我们要把目光放长远一些。
这次的课程设计使我对JAVA的许多东西都有了更深一步的了解,以前对自己的要看得懂就行,现在才发现,光能看懂是远远不够的,能看懂并不代表你会!课本被翻过很多遍,很多以前不知道的东西就这样豁然开朗了。
本次Java课程设计的锻炼,不仅我们的分析问题跟解决问题的能力都得到明显的提高,在这次事件过程中收获很多,对我们而言,知识上的收回,尽管遇到了困难,但还是通过各种途径克服问题。
做小小的测试,通过了就很开心,收获颇多,但是知识还是欠缺,我们会继续努力。
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.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.*;import java.sql.*;class Login extends JFrame implements ActionListener {Container cp=null;String name=null;String psw=null;JFrame f=null;JButton j1,j2;JTextField t1;JPasswordField t2;JLabel jlable1,jlable2;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(t2);JLabel JL=new JLabel("<html><font color=#CC00FF size='4'><i>欢迎进入信息工程学院管理系统</i></font>",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.width; /*取得显示器窗口的宽度*/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 WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public void confirm() throws IOException//验证用户和密码是否存在{File file =new File("C://Login.txt");try{if(!file.exists())file.createNewFile();}catch (IOException e) {e.printStackTrace();}BufferedReader br = new BufferedReader(new FileReader(file));String temp=br.readLine();String line;while((line=br.readLine())!=null){temp+=","+line;}if(temp==null){System.out.println();}else{String[] str=temp.split(",");name=str[0];psw=str[1];if((t1.getText().trim().equals(name))&&(t2.getText().equals(psw))){ new Test();f.hide();br.close();}else{JOptionPane.showMessageDialog(null,"该用户不存在","提示?",JOptionPane.YES_NO_OPTION);}t1.setText("");t2.setText("");}}public void actionPerformed(ActionEvent e){String cmd=e.getActionCommand();if(cmd.equals("确定")){try{confirm();} catch (IOException e1){e1.printStackTrace();}}else if(cmd.equals("取消")){f.dispose();}}public static void main(String[] 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.Serializable{String number,name,specialty,grade,borth,sex;public Student(){};public void setNumber(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;}public 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 JFrame{JLabel lb=new JLabel("录入请先输入记录、查询、删除请先输入学号?修改是对查询"+"容改后的保存?");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; ObjectOutputStream 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 JButton("查询");删除=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 JLabel("学号:",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("年级:",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("学生信息.txt");学生散列表=new Hashtable();if(!file.exists()){try{FileOutputStream 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.add(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 ActionListener{public void actionPerformed(ActionEvent e){修改.setEnabled(false);String number="";number=学号.getText();if(number.length()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){System.out.println("创建散列表出现问题?");} if(学生散列表.containsKey(number)){String warning="该生信息已存在? 请到修改页面修改?"; JOptionPane.showMessageDialog(null,warning,"警告", JOptionPane.WARNING_MESSAGE);}//endif1else{String m="该生信息将被录入?";intok=JOptionPane.showConfirmDialog(null,m,"确认",JOptionPane.YES_NO_OPTION,RMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){String name=.getText();String specialty=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()){sex=男.getText();}else{sex=女.getText();}学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);try{outOne=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(null);出生.setText(null);}}//end else1}//endif0else{String warning="必须输入学号?";JOptionPane.showMessageDialog(null,warning," 警告",JOptionPane.WARNING_MESSAGE);}//end else0}//end actionPerformed}//end classclass InquestAct implements ActionListener{public void actionPerformed(ActionEvent e){String number="";number=学号.getText();if(number.length()>0){try{inOne=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);.setText(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{修改.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 specialty=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()){sex=男.getText();}else{sex=女.getText();}Student 学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);try{outOne=new FileOutputStream(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 DeleteAct implements ActionListener{public void actionPerformed(ActionEvent e){修改.setEnabled(false);String number=学号.getText();if(number.length()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){}if(学生散列表.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=JOptionPane.showConfirmDialog(null,m,"确认", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE); if(ok==JOptionPane.YES_OPTION){学生散列表.remove(number);try{outOne=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(null);出生.setText(null);}else{String warning="该学号不存在?";JOptionPane.showMessageDialog(null,warning," 警告",JOptionPane.WARNING_MESSAGE); }}else{String warning="必须输入学号?";JOptionPane.showMessageDialog(null,warning," 警告",JOptionPane.WARNING_MESSAGE); }}}class ShowAct implements ActionListener{public void actionPerformed(ActionEvent e){new StudentShow(file);}}class StudentShow extends JDialog{Hashtable 学生散列表=null;JTextArea 显示=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;public StudentShow(File file){super(new JFrame(),"显示对话框");this.file=file;显示 =new JTextArea(16,30);try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){}if(学生散列表.isEmpty())显示.append("目前还没有学生的信息记录?\n"); else{显示.setText("学号性别专业年级出生\n");for(Enumeration enm= 学生散列表.elements();enm.hasMoreElements();){ Student stu=(Student)enm.nextElement();String sex="";if(stu.getSex().equals("男"))sex="男";else sex="女";Stringstr=stu.getNumber()+","+stu.getName()+","+sex+","+stu.getSpecialty()+","+stu.getGrade()+","+stu.getBorth()+"\n";显示.append(str);}}JScrollPane scroll=new JScrollPane(显示);Container con=getContentPane();con.add("Center",scroll);con.validate();setVisible(true);setBounds(200,200,400,300);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);} });}}}。