《java学生宿舍管理系统论文.docx》由会员分享,可在线阅读,更多相关《java学生宿舍管理系统论文.docx(24页珍藏版)》请在三一办公上搜索。
1、X X X X大学Java语言程序设计课程设计(论文)题目 java学生宿舍管理系统院(系):专业班级:学 号:学生姓名:指导教师:教师职称:起止时间:课程设计(论文)任务及评语院(系):教研室:学号学生姓名专业班级课程设计 (论文)题 目学生宿舍管理系统课程设计(论文任务任务与要求:(1).掌握面向对象程序设计语言JAVA的基本语法(2). 掌握 JAVA面向对象设计的思想,(3).掌握VJAVA6.0与MyEclips JAVA开发工具的使用(4).运用标准JAVA规范设计应用程序设计过程中,要严格遵守设计的时间安排,听从指导教师的指导.正确地完成上述内容,规范完整地撰写出设计报告。指导教
2、件语及成绩成绩: 指导教师签字:年 月 日目录第1章课程设计目的与要求11。1设计目的11.2实验环境11.3预备知识11.4设计要求1第2章课程设计内容22。1课题描述22.2系统设计22。2.1功能分析32.2.2面向对象设计32.2.2类成员描述 52.3程序实现52。3。1源码分析52.3。2运行结果 5第3章总结18参考文献19第1章课程设计目的与要求1。1设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据 结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度. 通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、
3、加深学生所学专业课程JAVA语言教程的基本理论知识,理论联系 实际,进一步培养学生综合分析问题,解决问题的能力.(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的 最终目的.(3)利用所学知识,开发小型应用系统,掌握运用JAVA语言编写调试应用系统程序,训 练独立开发应用系统,进行数据处理的综合能力。(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。(5)掌握面向对象程序设计的方法。(6)熟练掌握JAVA语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。1.2实验环境硬件要求能运行Windows操作系统的
4、微机系统。JAVA语言应用程序开发软件使用: VJAVA系统,或其他JAVA语言应用程序开发软件.1.3预备知识熟悉JAVA语言程序设计的基本知识及VJAVA编辑器的使用方法。1。4设计要求1. 仔细分析设计题目,画出程序流程图,编写程序源代码。2. 积极上机调试源程序,增强编程技巧与调程能力.3. 认真书写课程设计预习报告,课程设计说明书。4. 遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成 课程设计内容.第2章课程设计内容2.1课题描述对于问题的要求,我们可以选择使用链表处理数据,由于处理的数据相对比较多,所以在 函数的具体实现时,可以考虑使用函数模板,函数模板
5、会把很多问题的处理变得很容易, 例如:再查找学生信息时,使用姓名查找和学号或宿舍号查找方式,其中的两个函数只 有函数的参数的类型不一样,功能完全一样,使用模板处理该问题,只需编写一次模板函 数,再模板中声明的类型参数“T”,可以代替处理其他变量和返回类型。如果使用了模板 函数的条件下,类的设计最好选用模板类,因为类模板的使用,可以使得类中的某些成员 函数、某些数据成员和某些成员函数的返回值能取得任意类型。但模板的使用有一定的 能力要求,如果使用其他的方法可以实现上述要求的功能时,模板可以作为一种前进的方 法,去为程序实现精艺求精.这样最普遍,可以适时考虑的就是使用链表进行数据的处理,链表是一种
6、比较好且 很适宜的方法;学生包含有很多信息,最基本的方法是创建一个class,对学生信息实现 整体的代换,这样不仅方便数据处理,也为数据在程序中的录入、存储和显示提供很大的 优越性.各功能的实现可以通过设计一个学生类students,然后将功能函数作为类中的 成员函数来处理,这样不仅方便以后成员函数之间的调用,也为在编译和调试过程中出 现问题和警告错误时方便修改。当整体设计方案出炉后,具体的类中成员函数编译就是使用链表为载体来实现的.首 先要创建链表,并将原始数据装入制定的文本文档中,以输入出流的方式将数据赋给各 链表节点;数据读入程序后,各成员函数就可以根据链表的操作,对其实行查找,删除,添
7、 加,排序信息和交换信息等。查找函数在操作时可运用顺序查找或折半查找,相对比较而 言,在数据较多时使用顺序查找方便些,而且便于源代码的编译;在查找函数中要考虑 到是否要考虑函数返回值的类型,因为查找函数在以后交换函数中可能会调用查找函数, 这样会使交换信息函数显得简明,而且容易在交换时控制变量。排序和查找函数,因为要 使用不同排序或查找方法,所以在主函数的实现上,会考虑到使用一个子菜单来指导使 用,在按照不同参考变量进行排序或查找时,这时最主要要实现以第一个方式的函数的算 法思想和代码的编写,这样在编写其他方式函数代码时可以参考第一种方式,达到简化 步骤,节省时间,空间的目的。2.2系统设计根
8、据上述要求和思想算法的分析,需要设计一个类students。由于学生信息包含有学号、 姓名、宿舍号、系别等数据,所以设计一个student类来概括学生相关信息。学生的各 相关信息通过使用链表的方式将其联系在一起,这样不仅方便信息的录入和显示,也方 便在数据的处理上。各功能的实现均可在类student中定义各相关的成员函数。程序运行时,首先提示用户是否进行操作,选择“Y/y”后,进入操作界面,出现功能选择 菜单。首先要进行数据的录入选择“ 1。信息录入”选项这时数据直接通过磁盘文件录 入程序中;录入结束后可按菜单中功能选项进行选择操作,如选择“信息排序”功能之后 会出现子菜单,提示用户选择排序方
9、式“按学号排序“按宿舍号排序,这时可以选择 一方式进行操作,再通过输出与储存函数进行显示或储存。学生宿舍管理系统的开发主要包括前台用户界面的开发和后台数据库的开发,对于后台 数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的数据库.而对于 前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方 便等特点.本系统采用java作为前台用户界面的开发语言,而后台的数据库采用MySql2。2。1功能分析设计一个实用的小型学生宿舍管理程序,能够对学生宿舍进行管理.学生的原始信息由磁 盘文件进行储存。在程序的运行中要求能进行增加、删除学生记录、显示记录、查询/ 检索(
10、依不同关键字,如学号、宿舍号、姓名等)、删除/修改记录等功能,并能运用链 表进行动态处理.具体要求:1。对学生信息的录入、增加和删除;2 .能显示宿舍的相应信 息,即根据宿舍号显示宿舍位置,宿舍学生信息等;3。能根据学生信息查询相应的宿舍 信息;4.对宿舍管理可以从多方面对系统数据进行操作,如:依据系别、学生姓名、班级 等;并且能按各种条件进行组合查询和数据统计,并能按指定顺序进行格式化输出。2.2.2面向对象设计各模块之间的调用关系:壅入助笙束本系统分为四个模块:查找子菜单、信息录入、信息显示、查找功能子菜单。学生信息录人7学生信息插入卜按姓名查询。学生信息查询V吕理七按学号查询口录人后显示
11、2按房间号查询#学生信息显示9查谊)时显示+J 插/:后显示尸该程序的由多种函数实现,每个函数具有不同的功能,主要有主菜单函数,插入功能子 菜单函数,查找功能子菜单函数,学生信息录入函数,显示函数,排序函数插入函数以 及查找函数。在每个区域中会调用不同的函数来实现主要的功能。比如,在学生显示这 个功能里调用显示函数;在插入功能里调用子菜单函数;在显示信息时调用排序函数先对 需要输出的信心进行排序,然后再输出;在查找功能里会调用查找函数来进行查找,包 括按照性别,学号,姓名,房间号等查询。2.2。2类成员描述Students 类:(1)class StudentInf/学生信息类(2)class
12、 OverException/异常类(3)void Insert ()/添加方法(4)void search()/查找方法2。3程序实现2。3.1源码分析import java。 applet.Applet;import java。 awt.*;import java。 awt。 event。大;import java.util。*;import java。 lang。 *;public class Students extends Applet implements ActionListener Vector StuInf=new Vector();StudentInf SI;String
13、xm;String bj; int i,j,xh,cj; static int mid;Label prompt1=new Label (学生宿舍管理系统”);Label prompt2=new Label (用户:);Label prompt3=new Label (密码:”);Label prompt4=new Label (”班级:);Label prompt5=new Label(宿舍号:) TextField input1=new TextField(8); TextField input2=new TextField (8);TextField input3=new TextFie
14、ld (8);TextField input4=new TextField (8);Button btn1=new Button (”登录);Button btn2=new Button(” 增加”);Button btn3=new Button(修改”);Button btn4=new Button (删除);public void init ()setLayout(new GridLayout (6, 3) add(new Label();add(prompt1);add(new Label ();add(prompt2);add(input1);add(new Label();add(p
15、rompt3);add (inputadd (btn1);add(prompt4);add (input3);add(new Label();add(prompt5);add(input4);add(new Label();add (btn2);add(btn3);add(btn4);prompt4。 setVisible (false);prompt5。 setVisible (false); input3.setVisible(false);input4.setVisible(false);btn2.setVisible (false);btn3.setVisible(false);btn
16、4.setVisible(false);btn1.addActionListener (this); btn2.addActionListener(this);btn3。 addActionListener(this);btn4。addActionListener(this);public void actionPerformed (ActionEvent e)if(e.getActionCommand()=”登录”)String a, b;a=input1。 getText();b=input2.getText();input1。 setText();if(a。equals(孙凯”)=tru
17、e)&(b.equals (121301040” )=true) prompt2.setText (”姓名:);prompt3。setText (学号:”);prompt4.setVisible (true);prompt5。 setVisible(true);input3。 setVisible (true);input4。 setVisible(true);btn2.setVisible(true);btn3。 setVisible (true);btn4.setVisible(true);btn3。 setEnabled(false);btn4。 setEnabled (false);b
18、tn1。setLabel (查询);input1.setText(” 登录成功);input1。 selectAll ();elseinput2。setText (”用户名或密码错);if (e.getActionCommand ()=增加”)boolean scucss=true;tryXingMing();catch (EmptyException as)input1。setText (”姓名不能为空”);scucss=false;tryxh=Integer.parseInt(input2.getText ();catch(NumberFormatException m)input2。se
19、tText (学号为空或格式错); scucss=false;bj=input3o getText();tryChengJi ();catch (EmptyException as)cj=-1;catch(OverException dd)input4o setText(应在 0 100 间”); scucss=false;catch(NumberFormatException cm)input4o setText (宿舍号应为数据); scucss=false;if(scucss=true)SI=new StudentInf(xm, xh,bj, cj);Insert (SI);if (e。
20、getActionCommand()=修改”)xm=input1ogetText();bj=input3.getText ();cj=Integer.parseInt(input4。 getText ();SI=new StudentInf (xm,xh, bj, cj);StuInfo setElementAt(SI, mid);btn3o setEnabled(false);if (e.getActionCommand ()=删除”)StuInforemoveElementAt(mid);btn4。 setEnabled(false);inputl。setText (”删除成功);inpu
21、t2.setText (” );input3。 setText(”);input4。 setText(”);if(e。getActionCommand()=”查询”)boolean right=true;tryxh=Integer。 parseInt (input2。 getText ();catch (NumberFormatException m)input2。setText (”学号为空或格式错”);right=false;if(right=true)search(xh);btn3.setEnabled(true);btn4.setEnabled(true);/查找方法public vo
22、id search (int k)boolean exist=false;int low=0;int high=StuInf.size ()1;while (low =high)mid=(high+low) /2;StudentInf a1= (StudentInf) StuInf。 elementAt(mid); if(a1。 getStuNo () =k)SI=(StudentInf) StuInf。 elementAt (mid);String x = String。 valueOf (SI.getStuNo(); exist=true;inputlo setText(SI.getnam
23、e();inputlo selectAll (); input2.setText( 0” +x);input3。 setText (SI.getClassNo();if (SI.getLevel ()=-1)input4.setText (无记录”);elseString y = String。 valueOf(SI.getLevel ();input4.setText (y);break;else if (al。 getStuNo() k) low=mid+1;elsehigh=mid-1;if(exist=false)inputlo setText (”无此信息); inputl.sele
24、ctAll ();/添加方法public void Insert (StudentInf q)int i=0;if (StuInf.isEmpty ()=true)StuInfo addElement (q);inputlo setText (” ); input2.setText ();input3o setText (”);input4o setText(” );elseStudentInf xh;xh=(StudentInf) StuInfofirstElement();while(xh.getStuNo()qogetStuNo()i+;if (iStuInfo size ()xh=(S
25、tudentInf) StuInfoelementAt(i);else break;if(xh.getStuNo() =q。 getStuNo ()input2。setText (”此学生已存在”);input2。 requestFocus();input2。 selectAll ();elseStuInfo insertElementAt (q,i);inputl.setText (” );input2.setText();input3o setText ();input4o setText();/异常类class OverException extends ExceptionString
26、over;class EmptyException extends ExceptionString empty;void XingMing() throws EmptyExceptionif (input1.getText() )。 equals(” )throw (new EmptyException();elsexm=input1.getText();void ChengJi() throws OverException, EmptyExceptionif(input4.getText() )。 equals ()throw(new EmptyException();elsecj=Inte
27、ger.parseInt(input4。 getText ();if (cjsbein LWy .由二1.-2B deAJL pKkAgtlPl iMdES;!Bn JRE Esbein LWy .由二1.-2input! i(Wt2 inputs inputd* prompt* prompt a 咿i QromprfT iPEfcA 4d Tmdfidd T#*tfield Teitfield x tlnl Birtt i bln2 i BiirtciBP me TiEMrHfjhidfnnjaKd - iMyidip-w Errtfrpri 土曰由 bendmfHa Edrt 5du- 丽
28、nrSmxh Pnal MEdipuRun Winder HlpFj t =0 铀四日忐,#9 吕 4 g ,j-::T ZZZ:-. .一 7:fl 国工- t 尊* o 赌; % * 咨出匹宇 心丁 凶 家h a- an后匣些_蜀蛆无Kprompt prompd prarnpM- prompt?Tffidficld T-ifield Ts-tfield TfitfSeldtlhl SiTtt? bln2inMmIl StudsffbEjarfB 恩 气)|Cullrsi S3登陆信息显示:添加学生信息;删除信息显示:学生寝室查询:手EWE理布W室三戚I,rr. ?,l4 p*wftprt2
29、 * pWftptl a pompt4 * prompts* 05 L D 口M。骚占示3、 & (,博平胃日恻 gJJart |lPMydiJWffaBi.U-:-|JMa Vpl 闻 Efi网 I 印UEHUQlEgEUHjflfdkjMii立通玷 1刑言*皿白2D1S.S-17 TMS2T134):3 Fs心护 E ;:% hl瞄成 口IQ Jar-a - j jrl.wrfStderr5iM - Uyrlp- ErrterpnM W.rHwrFHa Edrt A 硕sc RsdUclDrWiteH Qrryrel My Evdjralhn Q Consde aLabdLabdLabdL
30、占hHK Wet *聆fe |F q一 一,=Kt bxta irputdl Te1firid 神m Te.ifitH a inpirtS Te.iCeH *标m TslWH a btnl 0ut1cfl * bth2 i 9uf1on第3章总结经过了一个多星期的努力,终于在规定的时间内完成率这份课程设计。以前,我对 Java的很多知识都很陌生,但是通过这次的课程设计使我明白了许多东西,翻阅了大量 的书籍以及上网查了很多的相关资料,也从中学会了不少东西,它使我知识更加的系统 化、全面化。在实验的过程中也让我体会到了做任何事情都是要付出一定的努力的。一 份努力一分收获,每当自己单独的成功解决某些
31、问题时,都会感觉很兴奋,也很有成就 感.在这次课程设计中,我体会到要想开发应该系统软件,不仅需要相当的专业技术知 识,还要有严谨缜密的思维能力。只有思想上清晰了,编程才有意义,否则就是白费力气。 同时还要善于捕捉细小的方面,因为那往往是这个程序的致命因素。通过这次程序设计, 培养了我的细心和耐心吗,也树立一种正确的求知态度。通过这次课程设计,我发现了自己的许多的不足,尤其是露出了对Java知识基础的 掌握不好,许多简单的东西都不知道.在课本上看到的各种算法感觉都很简单,但是真正 的让自己去写一个算法感觉很困难,。即使是课本上的源程序算法,自己写起来都感觉有 点生疏。在调试过程中经常出现的错误也
32、不是很熟悉。我认识到学好计算机要重视实践 操作,不仅仅是类的创建或建包,在其他的课程中都会注重实践。所以在今后的学习过 程中,我会更加注视实践操作,使自己更好的学好计算机。虽然完成了课程设计,但是这次课程设计的意义对我来说却很重要,让我明白了很 多。我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的 理论知识与实际相结合起来,从理论中得出结论,才能真正的掌握,从而提高自己的实 际动手能力和独立思考的能力.今后我要多加实践,把理论和实践完美结合起来,争取去 达到另一个高度。参考文献IEric。Java编程思想M。第4版。机械工业出版社,机械工业出版社.2杜波依斯。MySQ
33、L技术内幕M。第4版.人民邮电出版社,2011年07 月.3林信良。学习笔记M。第2版.清华大学出版社,2012年05月。4张峋.杨三成.关键技术:Java应用详解M。中国铁道出版社,2010年11 月.5张银鹤.点石成金:Java开发典型实例M。电子工业出版社,2009年01月.6 李宗伟.Java语言描述M。第2版。机械工业出版社,2009年01月.7Metsker S J。Java设计模式M。第2版。电子工业出版社,2012年09 月。8 孙卫琴.Java Web开发技术详解M.第2版。电子工业出版社,2009年01 月.9刘京华等。Java Web整合开发王者归来M.清华大学出版社,2
34、010年01 月.10贺松平.SQL的研究及应用D.武汉:华中科技大学,2006年4月11毕建信.Java的应用研究与实现D.武汉:武汉理工大学,2006年5月.10 陈刚.Eclipse从入门到精通M.北京:清华大学出版社,2005年4月。II清宏计算机工作室。Java编程技巧.机械工业出版社,2004年5月.12萨师煊,王珊。数据库系统概论。高等教育出版社,2002年2月.13温谦.Java从入门到精通M.人民邮电出版社,2008年08月.14刘晓义。XML技术及应用M,哈尔滨工程大学出版社,2011年06月。15赵俊峰等。Java Web应用开发案例教程:清华大学出版社,2012年01 月。