《2022年java课程方案设计书学生学籍管理系统.docx》由会员分享,可在线阅读,更多相关《2022年java课程方案设计书学生学籍管理系统.docx(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源封面欢迎下载精品学习资源作者: PanHongliang仅供个人学习课程设计(论文)任务书学院理学院专业信息与运算科学同学姓名许岩班级学号0809010214欢迎下载精品学习资源课程名称Java程序设计课程设计欢迎下载精品学习资源课程设计(论文)题目设计题目:同学学籍治理系统欢迎下载精品学习资源同学学籍治理系统,用 java 语言编程学问和 Eclipse软件实现同学学籍治理系统程序;设计目的:1)复习、巩固Java 语言的基础学问,进一步加深对Java 语言的懂得和把握; 2)课程设计为同学供应了一个既动手又动脑,独立实践的机会,将课本上的 理论学问和实际有机的结合起来,锤炼同学
2、的分析解决实际问题的才能;提高同学适应实际,实践编程的才能;3) 培养同学在工程开发中的团队合作精神、创新意识及才能;方案与进度支配:周一全天:设计解决问题方法、周三14 节;调试程序周一全天: 调试程序周三 14 节:完成论文、答辩;欢迎下载精品学习资源成果:指导老师(签字):2021 年 7 月 8 日主管院长(签字):2021 年 7 月 19 日专业负责人(签字):2021 年 7 月 18 日欢迎下载精品学习资源摘要Java 语言是当前最为流行的程序设计语言之一,诸多优秀的的特性使其成为被业界广泛认可和接受的工具;本设计可以帮忙同学把握和应运所学的面对对象程序设计同学学籍信息治理系统
3、的编程内容,培养同学们建立对象模型 ,处理对象和对象集关系和对图形用回界面设计编程以及文件和流的编程问题的才能,欢迎下载精品学习资源训练同学为解决实际问题而创建较完整的简洁面对对象和治理系统编程应运程序的独立编程才能 .本设计是一个常见的同学学籍治理系统应运程序.系统实现的功能 :界面操作实现同学学籍信息的添加、删除、查询、修改功能,在文本文件中的的信息的动态处理;关键词:同学学籍治理系统;图形用户界面设计;文件和流;java目 录一设计目的1二设计问题1三概要设计13.1 主程序面板设计 23.2 功能组件的功能实现 33. 2.1 添加同学信息 33.2.2 查询同学信息 43.2.3 修
4、改同学信息 43.2.4 删除同学信息 53.2.5 重置同学信息 5四详细设计54.1 图形用户界面设计54.2 添加功能的实现 94.3 重置功能的实现 104.4 查询功能的实现 104.5 删除功能的实现 124.6 修改功能的实现 154.7 系统的运行 18五设计总结18参考文献19欢迎下载精品学习资源致谢19欢迎下载精品学习资源一、设计目的同学学籍治理系统欢迎下载精品学习资源随着现代社会的快速进展,我们已进入信息化时代,治理系统在人们的生活中的应用越来越广泛,它已深化到我们工作、学习、生活的各个方面;为了适应时代的进展,本次课程设计的主要任务是设计一个同学学籍治理系统并完成一些基
5、本操作;其目的是:(1) 运用已学的 java 学问编一些简洁使用的程序,通过本课程设计使我们加深懂得、巩固课堂理论学问和试验学问;(2) 使我们初步具备综合运用所学Java 语言基础学问,面对对象程序设计的基本思想、方法与技术,用户界面设计编程和文件编程技术等 开发简洁应用系统的基本才能;(3) 使理论和实际相结合,真正做到学以致用,并适应时代进展的潮流;二、设计问题同学学籍治理系统要求完成:(1) 同学学籍信息的添加、删除、查询、修改功能(2) 使用界面操作(3) 使用文件完成第一设计面板,然后往面板里添加组件,点击各个组件来实现要求的对同学学籍信息的添加、删除、查询、修改功能;三、概要设
6、计学 生 信 息 管 理 系 统 的 程 序 文 件 为 AddStudentInformation.java, 在AddStudentInformation.java包含名为 AddStudent 的类;其主要功能为构成同学信息治理系统的主体框架,实现框架上各个组件的大事侦听;主要包括2个模块:图形用户界面的构建:组件监听大事的实现;用例图 1 表示如下欢迎下载精品学习资源信息添加欢迎下载精品学习资源同学信息录入同学学籍信息显示信息删除信息查询信息修改信息重置学籍信息数据文件欢迎下载精品学习资源欢迎下载精品学习资源3.1 、主程序面板设计:例图 1欢迎下载精品学习资源设计主面板如以下图,主面
7、板分为学籍信息输入区、功能操作区和学籍信息显示区;在同学信息输入区里分别有学号、姓名、性别、班级、系别等信息的输入文本框,其数据类型均置为 String 类型;在功能操作区里有五个按钮分别为:添加、修改、重置、删除、查询;分别实现对文本文件中的的同学信息数据进行添加、修改、删除、查询;其中重置功能按钮为对主程序界面中的信息输入区和信息显示区的文本框中的内容进行清除操作;在学籍信息显示区里使用DefaultTableModeltableModel =newDefaultTableModel;Stringtitles= 学号 , 姓名 , 性别 , 班级 , 系别 ;定义五个 titles用来学籍
8、信息的显示;主程序面板如例图2所示;欢迎下载精品学习资源例图 23.2 、功能组件的功能实现:3.2.1 添加同学信息学籍信息输入欢迎下载精品学习资源在文本框中输入同学信息包括学号、姓名、性别、班级、系功别能,操作点击添加按钮弹出对话框如图;该同学信息已成功添加至文件;如例图 3,4例图 3学籍信息显示欢迎下载精品学习资源3.2.2 查询同学信息例图 4欢迎下载精品学习资源在学号文本框里输入想要查询的学号0809010214,在同学信息显示栏显示信息;如例图 5:欢迎下载精品学习资源3.2.3 修改同学信息例图 5欢迎下载精品学习资源在同学信息输入区输入完整的同学信息,点击修改按钮弹出如下对话
9、框,点击 是 Y 按钮 , 程 序 自 动修 改 文 本 文件 中的 学 生信 息, 如 例 图 6,7 ;例图 6例图 7欢迎下载精品学习资源打开 text1.txt文件, 查找 所修改 内容,成 功修改内容 ,再 查询学 号为08090104 的同学信息为如例图 8例图 8说明信息修改成功;3.2.4 删除同学信息只需在信息输入区输入所要删除的同学信息的学号,点击删除按钮弹出如下对话框例图 9点击是 Y 按钮,程序进行执行删除功能,并弹出如下对话框,如例图10欢迎下载精品学习资源3.2.5 重置信息例图 10欢迎下载精品学习资源点击重置按钮,学籍信息输入区和学籍信息显示区的文本框中的内容都
10、设置为空;四、详细设计4.1 图形用户界面设计定义 AddStudent 类继承 JFrame 类使用 ActionListener, ItemListener接口实现对大事的监听;以下为用户界面的程序代码及分析:定义String类型的 num,name,grade,sex,xibie,oldStr六个变量;在本系统中默认学籍信息中的学号为同学信息的唯独可区分标识;删除、查询和修改时均以学号来进行信息的检索和匹配检测;使用 JLabel 标签类 定义 lbl_titlelbl_numlbl_namelbl_sexlbl_class lbl_department;使用 JTextField类创建
11、文本框用以学籍信息的输入和显示;使用 JButton 类创建 btn_rep btn_xg btn_cx btn_sh btn_add功能按钮; 使用 addItemListener和 addActionListener方法功能按钮大事进行监听;使用 JRadioButton类创建 rb_man rb_woman用以同学学籍信息性别的选择;使用 DefaultTableModel类定义五个 titles用来学籍信息的显示;使用 Container容器类,并使用 add 方法添加组件到容器中;欢迎下载精品学习资源使用 setBounds 方法对每个组件进行位置的设置,并使界面达到最优化;使用 s
12、etVisibletrue 使界面显示各个组件;classAddStudent extendsJFrameimplementsActionListener, ItemListener public String num,name,grade,sex,xibie,oldStr;JLabel lbl_title = new JLabel 同学信息 ;JLabel lbl_num = new JLabel 学号:;JLabel lbl_name = new JLabel姓名: ;JLabel lbl_sex = new JLabel性别:;JLabel lbl_class = new JLabel班
13、级:;JLabel lbl_department = new JLabel系别: ;JTextField txt_num = new JTextField;JTextField sfzText1 = new JTextField ;JTextField bnameText1= new JTextField ;JTextField xbText1 = new JTextField ;JTextField dateText1 = new JTextField ;JTextField xb = new JTextField ;JTextField txt_name = new JTextField1
14、1;JTextField txt_class = new JTextField11;JTextField txt_department = new JTextField;JButton btn_rep = new JButton 重置;JButton btn_xg = new JButton修改;JButton btn_cx = new JButton查询;JButton btn_sh = new JButton删除;JButton btn_add = new JButton 添加;JRadioButton rb_man = new JRadioButton 男;JRadioButton rb
15、_woman = new JRadioButton 女;DefaultTableModel tableModel=new DefaultTableModel ;String titles= 学号 ,姓名 , 性别, 班级 , 系别 ;String a,b,c,d,f;private JLabel infoLab = new JLabel 同学信息治理 ;ButtonGroup bg = new ButtonGroup;AddStudentString s supers;this.setBounds500, 50, 390, 600;Container con = this.getContent
16、Pane; con.setLayoutnull; con.addlbl_title ;con.addlbl_num;con.addlbl_name;con.addlbl_sex;con.addlbl_class;欢迎下载精品学习资源con.addlbl_department;con.addtxt_num;con.addtxt_name;con.addtxt_class;con.addtxt_department;con.addbtn_rep;con.addbtn_xg;con.addbtn_cx;con.addbtn_sh;con.addbtn_add;con.addrb_man;con.ad
17、drb_woman;bg.addrb_man;bg.addrb_woman;con.addinfoLab ;con.addsfzText1 ;con.addbnameText1 ;con.addxbText1 ;con.adddateText1 ;con.addxb;lbl_title .setBounds150, 50, 100, 25;lbl_num .setBounds100, 100, 50, 25;lbl_name.setBounds100, 150, 50, 25;lbl_sex.setBounds100, 200, 50, 25;lbl_class.setBounds100, 2
18、50, 50, 25;lbl_department.setBounds100, 300, 50, 25;btn_add.setBounds20, 350, 60, 25;btn_sh.setBounds230, 350, 60, 25;btn_xg.setBounds90, 350, 60, 25;btn_cx.setBounds300, 350, 60, 25;btn_rep.setBounds160, 350, 60, 25;txt_num.setBounds150, 100, 110, 25;txt_name.setBounds150, 150, 110, 25;txt_class.se
19、tBounds150, 250, 110, 25;txt_department.setBounds150, 300, 110, 25;rb_man.setBounds150, 200, 50, 25;rb_woman.setBounds220, 200, 50, 25;infoLab.setBounds0,410,100,25;sfzText1.setBounds0,450,80,20;欢迎下载精品学习资源bnameText1.setBounds80,450,80,20;xb.setBounds160,450,80,20;xbText1.setBounds240,450,80,20;dateT
20、ext1.setBounds320,450,80,20;tableModel.setColumnIdentifierstitles;JTable table=new JTabletableModel;JScrollPane scr=new JScrollPanetable; con.addscr;scr.setBounds0, 430, 400,300; rb_man.addItemListenerthis;rb_woman.addItemListenerthis;btn_add.addActionListenerthis;btn_rep.addActionListenerthis;btn_x
21、g.addActionListenerthis;btn_sh.addActionListenerthis;btn_cx.addActionListenerthis;setVisibletrue;4.2 添加功能的实现定义 addDate 方法实现学籍信息的添加,使用getText方法猎取文本框中的同学学籍信息,并使用PrintWriternew FileWriter new Filetext1.txt,true 类下的 println方法将信息写入文件text1.txt;其中每个学籍信息之间用| 隔开,并换行储存以便利信息的的读取和查询;添加成功之后执行setText方法使各个文本框中的信息为
22、空以便利其他功能的实现;以下为详细的代码:public void addDateString sex = null;ifrb_man.isSelectedsex=rb_man.getText;else sex=rb_woman.getText;JOptionPane.showMessageDialognull, 学号: + txt_num.getText+ n 姓名: + txt_name.getText+n 性别+sex + n 班级:+ txt_class.getText + n 系别: + txt_department.getText;PrintWriter mm = null ;欢迎下
23、载精品学习资源Stringfs=txt_num.getText+|+txt_name.getText+|+sex+|+txt_class.getText+|+txt_ department.getText;try mm=newPrintWriternewFileWriternewFiletext1.txt,true ;mm.printlnfs ; catch IOException e1 e1.printStackTrace;mm.close;JOptionPane.showMessageDialognull, 添 加 成 功 , 温 馨 提 示 ,JOptionPane.INFORMATIO
24、N_MESSAGE ;txt_num.setTextnull;txt_name.setTextnull;txt_class.setTextnull;txt_department.setTextnull;bg.removerb_man;bg.removerb_woman;rb_man.setSelectedfalse; rb_woman.setSelectedfalse;4.3 重置功能的实现使用 setText方法使各个文本框中的信息为空,使用JRadioButton 类下的欢迎下载精品学习资源remove和 setSelectedflase方publicvoid repDate txt_nu
25、m.setTextnull;txt_name.setTextnull;txt_class.setTextnull;txt_department.setTextnull;法使性别单项按钮置为未被选定状态;欢迎下载精品学习资源bg.removerb_man;bg.removerb_woman;rb_man.setSelectedfalse;rb_woman.setSelectedfalse;bg.addrb_man;bg.addrb_woman;sfzText1.setText ;bnameText1.setText ;dateText1.setText ;xb.setText ;xbText1.
26、setText ;infoLab.setText 同学信息 ;4.4 查询功能的实现定义查询方法实现查询功能,第一使用equals 方法进行判别学号输入区文本框中的内容是否为空,为空的时候就提示用回输入学号进行查询,不为空使用类 BufferedReader下的 readLine方法正行读取文件text1.txt中的内容,使用类 StringTokenizer对读取的整行数据以“ | “进行分割,每个分割点的内容赋值给 String类型的 num,name,sex, grade ,xibie ;再次使用 equal 方法判定学号输入文本框中的内容是否和num 相同,如相同就依次使用setTex
27、t方法将学籍信息显示区的文本框内容设置为所查找的文件数据;其中包括文件的反常处理;以下为详细代码:public void CheckDateif txt_num.getText.toString.equalsJOptionPane.showMessageDialognull, 请输入学号 , 温馨提示, JOptionPane.INFORMATION_MESSAGE ; try BufferedReader in = new BufferedReadernew FileReadertext1.txt; String s;whiles=in.readLine.=nullStringTokeniz
28、er t=new StringTokenizers,|;num=t.nextToken;欢迎下载精品学习资源name=t.nextToken;sex=t.nextToken;grade =t.nextToken;xibie =t.nextToken;ifnum.equalstxt_num.getTextsfzText1.setTextnum; bnameText1.setTextname; dateText1.setTextxibie;xb.setTextsex; xbText1.setTextgrade; infoLab.setText查询成功! ; catch IOException e
29、e.printStackTrace;4.5 删除功能的实现删除学籍信息时用户只需输入同学的学号即可删除文本文件中的该生的学籍信息,其实现是基于查询功能,第一是查询文本文件中的数据,假如输入的学号和查询到的信息相同时,提示用户是否要删除该生学籍信息,假如选择是Y ,就删除该同学的全部信息;在实现删除功能时,本系统接受缓冲流StringBufferbuf 的相关特性,在信息匹配成功之后,使用readLine方法自动查找到该学籍信息在文本文件中所在的行,将该行之前的内容使用append 方法追加到缓冲流 buf 中,而该行数据就设置为空追加至buf 中,该行之后的内容就正常追加至 buf 中,然后再
30、写入文本文件 text1.txt中,其中也包括对文件读取写入的反常的处理,从而实现了信息的删除;以下为详细代码:public void deleteDate欢迎下载精品学习资源else ifrb_man.isSelectedsex=rb_man.getText;欢迎下载精品学习资源sex=rb_woman.getText;String m=确定要删除该同学的记录吗?n 请检查文本文件中的数据格式确保每行数据之间和文本最终无空行;intok=JOptionPane.showConfirmDialognull,m,确认,JOptionPane.YES_NO_OPTION,JOptionPane.Q
31、UESTION_MESSAGE;ifok=JOptionPane.YES_OPTIONtry BufferedReader in = new BufferedReadernew FileReadertext1.txt; String s;whiles=in.readLine.=nullStringTokenizer t=new StringTokenizers,|;num=t.nextToken;name=t.nextToken;sex=t.nextToken;grade =t.nextToken;xibie =t.nextToken;ifnum.equalstxt_num.getTextol
32、dStr = num +|+name+|+sex+|+grade+|+ xibie ; catch IOException e try 欢迎下载精品学习资源File file = new Filetext1.txt ;BufferedReaderst=newBufferedReadernew InputStreamReadernew FileInputStreamfile;StringBuffer buf = new StringBuffer;String s=null;forintj=1 ;s=st.readLine.=null & .s.equalsoldStr; j+ buf = buf
33、.appends;buf = buf.appendn;while s = st.readLine .= null buf = buf.appends;buf = buf.appendn;buf.append;st.close;PrintWriter pw = new PrintWriternew FileOutputStreamfile ;pw.printlnbuf.toString.toCharArray ;pw.flush;pw.close;catch IOException e e.printStackTrace;JOptionPane.showMessageDialognull, 删除
34、成 功, 温馨 提示 ,JOptionPane.INFORMATION_MESSAGE ;txt_num.setTextnull;欢迎下载精品学习资源txt_name.setTextnull;txt_class.setTextnull;txt_department.setTextnull;bg.removerb_man;bg.removerb_woman;rb_man.setSelectedfalse; rb_woman.setSelectedfalse;else ifok=JOptionPane.NO_OPTION4.6 修改功能的实现修改学籍信息和删除功能实现方法类似,只是在修改的详细过程
35、有些差异, 修改学籍信息时需要用户输入完整的学籍信息,点击修改按钮,系统弹出对话框提示是否要删除同学学籍信息,点击是Y 进行修改学籍信息,第一也是对文本文件的读取和信息匹配检测,以学号为标识进行匹配检测;如学号相同,使用 readLine方法自动查找到该学籍信息在文本文件中所在的行,将该行之前 的内容使用 append 方法追加到缓冲流buf 中,而该行数据就设置为从文本框中猎取的内容追加至 buf 中,该行之后的内容就正常追加至buf 中,然后再写入文本文件 text1.txt中,其中也包括对文件读取写入的反常的处理,从而实 现了信息的修改;以下为详细代码:public void editD
36、ataifrb_man.isSelectedsex=rb_man.getText;else sex=rb_woman.getText;String m=确定要修改该同学的记录吗? ;intok=JOptionPane.showConfirmDialognull,m,确认欢迎下载精品学习资源,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE;ifok=JOptionPane.YES_OPTIONtry BufferedReader in = new BufferedReadernew FileReadertext1.txt; Strin
37、g s;whiles=in.readLine.=nullStringTokenizer t=new StringTokenizers,|;num=t.nextToken;name=t.nextToken;sex=t.nextToken;grade =t.nextToken;xibie =t.nextToken;ifnum.equalstxt_num.getTextoldStr = num +|+name+|+sex+|+grade+|+ xibie ; catch IOException e e.printStackTrace;try File file = new Filetext1.txt
38、 ;BufferedReaderst=newBufferedReadernew InputStreamReadernew FileInputStreamfile;StringBuffer buf = new StringBuffer;String s=null;forintj=1 ;s=st.readLine.=null欢迎下载精品学习资源& .s.equalsoldStr; j+ buf = buf.appends;buf = buf.appendn;while s = st.readLine .= null buf = buf.appends;buf = buf.appendn;buf=b
39、uf.appendtxt_num.getText+|+txt_name.getText+|+sex+|+txt_class.getText+|+txt_department.getText;st.close;PrintWriter pw = new PrintWriternew FileOutputStreamfile;pw.printlnbuf.toString.toCharArray ;pw.flush;pw.close;catch IOException e e.printStackTrace;JOptionPane.showMessageDialognull, 修 改 成 功 , 温 馨 提 示 ,JOptionPane.INFORMATION_MESSAGE ;txt_num.setTextnull;txt_name.setTextnull;txt_class.setTextnull;txt_department.setTextnull;bg.removerb_man;bg.removerb_woman;欢迎下载精品学习资源infoLab