JAVA学生管理系统.docx

上传人:b****2 文档编号:1695065 上传时间:2023-05-01 格式:DOCX 页数:47 大小:175.93KB
下载 相关 举报
JAVA学生管理系统.docx_第1页
第1页 / 共47页
JAVA学生管理系统.docx_第2页
第2页 / 共47页
JAVA学生管理系统.docx_第3页
第3页 / 共47页
JAVA学生管理系统.docx_第4页
第4页 / 共47页
JAVA学生管理系统.docx_第5页
第5页 / 共47页
JAVA学生管理系统.docx_第6页
第6页 / 共47页
JAVA学生管理系统.docx_第7页
第7页 / 共47页
JAVA学生管理系统.docx_第8页
第8页 / 共47页
JAVA学生管理系统.docx_第9页
第9页 / 共47页
JAVA学生管理系统.docx_第10页
第10页 / 共47页
JAVA学生管理系统.docx_第11页
第11页 / 共47页
JAVA学生管理系统.docx_第12页
第12页 / 共47页
JAVA学生管理系统.docx_第13页
第13页 / 共47页
JAVA学生管理系统.docx_第14页
第14页 / 共47页
JAVA学生管理系统.docx_第15页
第15页 / 共47页
JAVA学生管理系统.docx_第16页
第16页 / 共47页
JAVA学生管理系统.docx_第17页
第17页 / 共47页
JAVA学生管理系统.docx_第18页
第18页 / 共47页
JAVA学生管理系统.docx_第19页
第19页 / 共47页
JAVA学生管理系统.docx_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JAVA学生管理系统.docx

《JAVA学生管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA学生管理系统.docx(47页珍藏版)》请在冰点文库上搜索。

JAVA学生管理系统.docx

JAVA学生管理系统

JAVA学生管理系统

1、需求分析

1.实现对班级和学生基本资料的录入,包括学生的学号,姓名,性别,所学专业,家庭住址以及出生年月等。

2.能够实现对班级学生基本资料的修改。

3.根据学号对学生资料进行查询。

4.能够删除学生的资料。

2、概要设计

根据本次课程设计的目的和以上的问题描述,把该班级管理系统分为五个模块:

录入模块(StudentSituation)、查询模块(Inques)、删除模块(Delete)和修改模块(ModifySituation)。

各个模块包括对学生学号,姓名,所学专业,家庭住址,出生日期等信息的操作。

系统的结构图如图一:

 

图1系统结构图

 

三、总体设计

本班级管理系统共有6个java源文件。

类之间的主要关系如下图所示:

图2类之间的主要关系

各主类的主要作用如下:

1.StudentManager.java

该java文件的类负责创建班级学生管理系统的主窗口,该类包含main方法,程序从该类开始执行。

2.StudentStituation.java

该文件的类负责创建班级学生管理系统的学生信息录入界面。

3.ModifySituation.java

该文件的类负责创建班级学生管理系统的学生基本信息修改界面。

4.Inquest.java

该文件的类负责创建班级学生管理系统的学生基本信息查询界面。

5.Delete.java

该文件的类负责创建班级学生管理系统的学生信息删除界面。

6.Student.java

负责创建存放学生信息的对象。

4、详细设计

1.管理系统主窗口

1.1成员变量

表1-1主要成员变量

成员变量描述

变量类型

变量名称

基本信息录入

基本信息修改

基本信息查询

基本信息删除

菜单选项

存基本信息的散列表

存放散列表的文件

StudentSituation

ModifySituation

Inquest

Delete

JMenuItem

Hashtable

File

基本信息录入

基本信息修改

基本信息查询

基本信息删除

录入,修改,查询,删除

基本信息

file

1.2方法

表1-2主要方法

名称

功能

备注

StudentManager

actionPerformed

main

创建程序主窗口

处理ActionEvent事件

程序开始运行

构造方法

接口方法

1.3界面截图:

 

2.基本信息录入

2.1成员变量

表2-1主要成员变量属性

描述

变量类型

变量名称

存放“学生”对象的散列表

输入学生基本信息的文本

存放学生信息的对象

Hashtable

JTextField

Student

基本信息表

学号,姓名,所学专业,家庭住址,出生

学生

2.2方法

表2-2主要方法

名称

功能

备注

StudentSituation

actionPerformed

创建学生信息录入界面

处理ActionEvent事件

构造方法

接口方法

 

2.3录入界面截图:

 

3.基本信息查询

3.1成员变量

表3-1主要成员变量属性

描述

变量类型

变量名称

存放“学生”对象的散表

显示学生基本信息的文本

Hashtable

JTextField

基本信息表

学号,姓名,所学专业,家庭住址,出生

3.2方法

表3-2主要方法

名称

功能

备注

Inquest

actionPerformed

创建查询界面

处理ActionEvent事件

构造方法

接口方法

3.3查询截图:

 

4.基本信息修改

4.1成员变量

表4-1主要成员变量

描述

变量类型

变量名称

存放“学生”对象的散列表

输入学生基本信息的文本条

Hashtabel

JTextField

基本信息表

学号,姓名,所学专业,家庭住址,出生

4.2方法

表4-2主要方法

名称

功能

备注

ModifySituation

actionPerform

创建学生信息修改界面

处理ActionEvent事件

构造方法

接口方法

4.3修改界面截图:

5.基本信息删除

5.1成员变量

表5-1主要成员变量

描述

变量类型

变量名称

存放“学生”对象的散列表

显示学生基本信息的文本条

Hashtable

JTextField

基本信息表

学号,姓名,所学专业,家庭住址,出生

5.2方法

表5-2主要方法

名称

功能

备注

Delete

actionPerformed

创建学生信息删除界面

处理ActionEvent

构造方法

接口方法

5.3删除界面截图

 

6.学生对象

6.1成员变量

表6-1主要成员变量

描述

变量类型

变量名称

学号

姓名

所学专业

家庭住址

出生

性别

String

String

String

String

String

String

Number

Name

Discipling

Grade

Borth

Sex

6.2方法

表6-2主要方法

名称

功能

Setnumber

Setnumber

Setname

Setname

setDisciping

setDisciping

setGrade

setGrade

setBorth

setBorth

setSex

setSex

设置学号

获取学号

设置姓名

获取姓名

设置所学专业

获取所学专业

设置家庭住址

获取家庭住址

设置出生

获取出生

设置性别

获取性别

五、总结与展望

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.本次课程设计虽然很辛苦,实在是受益匪浅。

本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。

理论和实践的相结合是学习最有效的方法。

在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

不过,在用Java开发类似的软件时,发现在图形界面的设计方面远没有用VB,VF等开发工具简单。

参考文献:

附录:

1.主界面代码

StudentManager.java

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.Hashtable;

publicclassStudentManagerextendsJFrameimplementsActionListener

{

StudentSituation基本信息录入=null;

ModifySituation基本信息修改=null;

Inquest基本信息查询=null;

Delete基本信息删除=null;

JMenuBarbar;

JMenufileMenu;

JMenuItem录入,修改,查询,删除,退出;

Containercon=null;

Hashtable基本信息=null;

Filefile=null;

CardLayoutcard=null;

JLabellabel;

JPanelpCenter;

publicStudentManager()

{

setTitle("欢迎进入班级管理系统");

录入=newJMenuItem("录入学生基本信息");

修改=newJMenuItem("修改学生基本信息");

查询=newJMenuItem("查询学生基本信息");

删除=newJMenuItem("删除学生基本信息");

退出=newJMenuItem("退出本系统");

退出.addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEventevent)

{

System.exit(0);

}

});

bar=newJMenuBar();

fileMenu=newJMenu("菜单选项");

fileMenu.add(录入);

fileMenu.addSeparator();

fileMenu.add(修改);

fileMenu.addSeparator();

fileMenu.add(查询);

fileMenu.addSeparator();

fileMenu.add(删除);

fileMenu.addSeparator();

fileMenu.addSeparator();

fileMenu.add(退出);

bar.add(fileMenu);

setJMenuBar(bar);

label=newJLabel("欢迎进入班级管理系统!

",label.CENTER);

label.setFont(newFont("隶书",Font.BOLD,30));

label.setForeground(Color.blue);

基本信息=newHashtable();

录入.addActionListener(this);

修改.addActionListener(this);

查询.addActionListener(this);

删除.addActionListener(this);

card=newCardLayout();

con=getContentPane();

pCenter=newJPanel();

pCenter.setLayout(card);

file=newFile("学生基本信息.txt");

if(!

file.exists())

{

try{

FileOutputStreamout=newFileOutputStream(file);

ObjectOutputStreamobjectOut=newObjectOutputStream(out);

objectOut.writeObject(基本信息);

objectOut.close();

out.close();

}

catch(IOExceptione)

{

}

}

基本信息录入=newStudentSituation(file);

基本信息修改=newModifySituation(file);

基本信息查询=newInquest(this,file);

基本信息删除=newDelete(file);

pCenter.add("欢迎语界面",label);

pCenter.add("录入界面",基本信息录入);

pCenter.add("修改界面",基本信息修改);

pCenter.add("删除界面",基本信息删除);

con.add(pCenter,BorderLayout.CENTER);

con.validate();

addWindowListener(newWindowAdapter()

{publicvoidwindowClosing(WindowEvente)

{

System.exit(0);

}

});

setVisible(true);

setBounds(100,50,420,380);

validate();

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==录入)

{

card.show(pCenter,"录入界面");

}

elseif(e.getSource()==修改)

{

card.show(pCenter,"修改界面");

}

elseif(e.getSource()==查询)

{

基本信息查询.setVisible(true);

}

elseif(e.getSource()==删除)

{

card.show(pCenter,"删除界面");

}

}

publicstaticvoidmain(Stringargs[])

{

newStudentManager();

}

}

2.录入代码

StudentSituation.java

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

publicclassStudentSituationextendsJPanelimplementsActionListener

{

Hashtable基本信息表=null;

JTextField学号,姓名,所学专业,家庭住址,出生;

JRadioButton男,女;

Student学生=null;

ButtonGroupgroup=null;

JButton录入,重置;

FileInputStreaminOne=null;

ObjectInputStreaminTwo=null;

FileOutputStreamoutOne=null;

ObjectOutputStreamoutTwo=null;

Filefile=null;

publicStudentSituation(Filefile)

{

this.file=file;

学号=newJTextField(10);

姓名=newJTextField(10);

所学专业=newJTextField(10);

家庭住址=newJTextField(10);

出生=newJTextField(10);

group=newButtonGroup();

男=newJRadioButton("男",true);

女=newJRadioButton("女",false);

group.add(男);

group.add(女);

录入=newJButton("录入");

重置=newJButton("重置");

录入.addActionListener(this);

重置.addActionListener(this);

Boxbox1=Box.createHorizontalBox();

box1.add(newJLabel("学号:

",JLabel.CENTER));

box1.add(学号);

Boxbox2=Box.createHorizontalBox();

box2.add(newJLabel("姓名:

",JLabel.CENTER));

box2.add(姓名);

Boxbox3=Box.createHorizontalBox();

box3.add(newJLabel("性别:

",JLabel.CENTER));

box3.add(男);

box3.add(女);

Boxbox4=Box.createHorizontalBox();

box4.add(newJLabel("所学专业:

",JLabel.CENTER));

box4.add(所学专业);

Boxbox5=Box.createHorizontalBox();

box5.add(newJLabel("家庭住址:

",JLabel.CENTER));

box5.add(家庭住址);

Boxbox6=Box.createHorizontalBox();

box6.add(newJLabel("出生:

",JLabel.CENTER));

box6.add(出生);

BoxboxH=Box.createVerticalBox();

boxH.add(box1);

boxH.add(box2);

boxH.add(box3);

boxH.add(box4);

boxH.add(box5);

boxH.add(box6);

boxH.add(Box.createVerticalGlue());

JPanelpCenter=newJPanel();

pCenter.add(boxH);

setLayout(newBorderLayout());

add(pCenter,BorderLayout.CENTER);

JPanelpSouth=newJPanel();

pSouth.add(录入);

pSouth.add(重置);

add(pSouth,BorderLayout.SOUTH);

validate();

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==录入)

{

Stringnumber="";

number=学号.getText();

if(number.length()>0)

{

try{

inOne=newFileInputStream(file);

inTwo=newObjectInputStream(inOne);

基本信息表=(Hashtable)inTwo.readObject();

inOne.close();

inTwo.close();

}

catch(Exceptionee)

{

}

if(基本信息表.containsKey(number))

{

Stringwarning="该生基本信息已存在,请到修改页面修改!

";

JOptionPane.showMessageDialog(this,warning,警告",JOptionPane.WARNING_MESSAGE);

}

else

{

Stringm="基本信息将被录入!

";

intok=JOptionPane.showConfirmDialog(this,m,"确认",JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);

if(ok==JOptionPane.YES_OPTION)

{

Stringname=姓名.getText();

Stringdiscipling=所学专业.getText();

Stringgrade=家庭住址.getText();

Stringborth=出生.getText();

Stringsex=null;

if(男.isSelected())

{

sex=男.getText();

}

else

{

sex=女.getText();

}

学生=newStudent();

学生.setNumber(number);

学生.setName(name);

学生.setDiscipling(discipling);

学生.setGrade(grade);

学生.setBorth(borth);

学生.setSex(sex);

try{

outOne=newFileOutputStream(file);

outTwo=newObjectOutputStream(outOne);

基本信息表.put(number,学生);

outTwo.writeObject(基本信息表);

outTwo.close();

outOne.close();

学号.setText(null);

姓名.setText(null);

所学专业.setText(null);

家庭住址.setText(null);

出生.setText(null);

}

catch(Exceptionee)

{

System.out.println(ee);

}

}

}

}

else

{

Stringwarning="必须要输入学号!

";

JOptionPane.showMessageDialog(this,warning,"警告",JOptionPane.WARNING_MESSAGE);

}

}

if(e.getSource()==重置)

{

学号.setText(null);

姓名.setText(null);

所学专业.setText(null);

家庭住址.setText(null);

出生.setText(null);

}

}

}

3.查询代码

Inquest.javaimportjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

publicclassInquestextendsJDialogimplementsActionListener

{

Hashtable基本信息表=null;

JTextField学号,姓名,所学专业,家庭住址,出生;

JRadioButton男,女;

JButton查询;

ButtonGroupgroup=null;

FileInputStreaminOne=null;

ObjectInputStreaminTwo=null;

Filefile=null;

publicInquest(JFramef,Filefile)

{

super(f,"查询对话框",false);

this.file=file;

学号=newJTextField(10);

查询=newJButton("

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2