版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java 程序设计课程设计目录摘要 - 2 - 一引言 - 3 -(一)问题提出 - 3 -(二)需求与系统分析 - 3 -1 需求分析 - 3 -2 系统分析 - 3 - 二程序的主要功能 - 4 -(一)录入学生信息 - 4 -(二)查询学生信息 - 4 -(三)修改学生信息 - 4 -(四)删除学生信息 - 5 -(五)根据某门成绩进行排序 - 5 -(六)根据总分进行排序 - 5 -(七)退出系统 - 5 - 三程序运行平台 - 5 - 四系统的详细设计 - 6 -(一)任务要求 - 6 -(二)设计思路 - 6 -(三)程序类的说明 - 6 - ( 1) Student 类- 6 -
2、 (2)Admin 类- 8 - ( 3)主类: StudentManager 类 - 15 -(四)系统结构图 - 18 - 五系统测试 - 18 -(一)运行界面 - 18 -(二)录入学生信息 - 19 -(三)查询学生信息 - 19 -(四)修改学生信息 - 20 -(五)删除学生信息 - 21 -(六)输入学生的各门成绩 - 21 -(七)根据某门成绩排序 - 22 -(八)根据总分排序 - 23 -(九)退出系统 - 24 - 六结论 - 25 -(一)结束语 - 25 -(二)致谢 - 25 -(三)参考文献 - 25 - 附件:源代码 - 26 -摘要本系统主要用于对学生信息的
3、管理, 它使得管理人员在最短的 时间内能够高效准确的对学生进行学生信息的管理。 通过本次的学 生信息管理系统,管理员可以将学生的学号、姓名、年龄、各科成 绩(java、English、math、c)以及总分录入到信息管理系统中。学 生可以进行个人信息的查询、修改、删除,同时也可以看到自己成 绩的总分以及排名。通过该系统,可以更加快速、直观的对学生进行功能的操作。 该系统改变了以前手工记录的方式, 充分实现了学生信息管理的计 算机化。本次系统使用计算机进行学生信息系统管理 , 不仅能够提 高工作效率 , 而且也能够很大程度上提高其安全性。尤其对于一些 复杂的信息管理系统 , 计算机能够充分发挥它
4、的优越性。关键词 程序设计 ;Java ;学生信息管理引言(一)问题提出学生信息管理系统以计算机为工具, 将管理人员从繁琐的数据计 算中解脱出来, 全面的提高了管理的效率和质量, 使得管理更加的规 范和严谨。世界处于信息化时代, 人类的生活随着科技的发展越来越好, 特 别是计算机的出现, 更加丰富了多姿多彩的生活。 作为新时代的大学 生,要随时掌握和利用信息,辅之以科学文化知识,来适应社会发展 的要求,将来为祖国奉献自己的一份力。计算机 Java 语言是一门理 论与实践共存的课程,但是更侧重于实践,因此,我们要将实践教学 与理论教学达到密切结合。(二)需求与系统分析1 需求分析( 1)性能要求
5、( 2)功能要求( 3)安全性要求( 4)可使用资源方面 的要求( 5)可靠性要求2 系统分析学生信息管理系统是现在现代化管理的一个很好地平台, 是一款 针对学生的大量信息处理的管理软件。 随着现在学校与学生人数的不 断增加,管理者对学生信息管理系统的需求将会更加迫切。因此,设 计并实现该系统是未来必不可少的需求。为此系统进行逻辑设计,它 处于总体规划与系统设计两个阶段之间,是管理信息系统开发的第二 个阶段,主要解决系统的功能。在总体规划的指导下,对系统进行详 细深入的调查研究,将一个系统分解成各个组成部分, 确定新系统的 逻辑概念的过程。分析的目的是研究系统的各个部分如何工作、 如何 交互,
6、以获得一个合理的新系统的逻辑模型实现其系统目标。二程序的主要功能(一)录入学生信息需录入学生的信息:学 号姓名年龄java分数English 分数math分数C分数0xiao yun21908080801aning22958580852Ian lan21919090863yueyue20858099704tia ntia n2170688376(二)查询学生信息输入学生的学号之后,学生信息就会出现。(三)修改学生信息输入学生的学号之后,系统就会让程序员修改学生的姓名、 年龄以及各科的分数。(四)删除学生信息输入学生的学号之后, 系统就会自动删除该学生的信息。 再次查 找该同学时,需要重新录入才
7、可以。(五)根据某门成绩进行排序当录入完全部的学生之后, 若需要按照某门成绩进行排序, 则输 入编号,系统会相应的给出排序。(六)根据总分进行排序当需要根据总分进行排序时, 输入相应的编号之后, 即可出现总分的排序(七)退出系统选择数字“ 7”,系统会出现“程序已结束! ”字样,即可退出。三 程序运行平台1 windows 7 或者 windows 8 操作系统2 NeatBeans软件或者DOS界面(需要设置程序运行环境和路径)四 系统的详细设计(一)任务要求1录入学生的学号、姓名、年龄、java分数、English分数、math分数、C分数2 查询已知学生的信息3 修改已知学生的信息4 删
8、除学生的信息5 根据某门成绩排序6 根据总分排序 (二)设计思路根据学生信息管理系统的课程设计任务要求, 我需要编写一个程 序来存放学生的信息, 并且对学生可以执行录入、 查询、修改、删除、 排序等操作。定义公共主类 StudentManager、一个学生类Student (包含name on、age、java、English、math、c、sum)、一个操作类 Admin 等完 成程序的执行。(三)程序类的说明( 1 ) Student 类数据成员: private String name;/ 姓名private int on;/ 学号private int age;/ 年龄private
9、int java;/java 成绩private int English/;English 成绩private int math;/math 成绩private int c;/C 成绩private int sum;/ 总成绩代码:class Student private String name;private int on;private int age;private int java;private int English;private int math;private int c;private int sum;public void setOn(int on)this.on=on
10、;public int getOn()return this.on;public String getName() return ;public void setName(String name) = name;public int getAge() return this.age;public void setAge(int age) this.age = age;public int getJava() return java;public void setJava(int java) this.java = java;public int getEn
11、glish() return English;public void setC_shar(int English) this.English = English;public int getMath() return math;public void setMath(int math) this.math = math;public int getC() return c;public void setC(int c) this.c = c;public int getSum() return sum;public void setSum() this.sum=this.java+this.c
12、+this.math+this.English; public String toString()String msg="t"+this.on+"t"++"t"+this.age+"t"+this.java+"t"+this.English+"t"+this.math+"t"+this.c+"t"+this.sum; return msg;( 2)Admin 类String msg="t 学号t 姓名 t 年
13、龄 t java'tEnglishtmathtc t 总分"1 录入学生信息代码: public void input(String name,int age,Student arr)Student stu=new Student();stu.setName(name);stu.setAge(age);int i=this.setIndex(arr);stu.setOn(i);if(i=99999)System.out.pri ntln (”学生人数已到最大,不能再添加!”elsearri=stu;this.print(arr);2 查询学生信息代码:public void
14、select(int on,Student arr)System.out.println(msg);for(int i=0;i<arr.length;i+) if(this.exist(on,arri)System.out.println(msg);System.out.println(arri);return;System.out.println("-没有该学生的存在 -");3 修改学生信息 代码: public void update(int on,String name,int age,Student arr)for(int i=0;i<arr.leng
15、th;i+)if(this.exist(on,arri)arri.setName(name);arri.setAge(age);- 修改学生信息成功 -");this.print(arr);return;(”未找到该学生,修改信息失败”);4 删除学生信息代码:public void delete(int on,Student arr)for(int i=0;i<arr.length;i+)if(this.exist(on,arri)arri=null;this.print(arr);return;(”您所指定学号的学生没有存在”);5 输入学生成绩 代码: public vo
16、id input(int on,Student arr)for(int i=0;i<arr.length;i+)if(this.exist(on, arri)请输入 "+arri.getName()+"java 的成 绩");Scanner in=new Scanner(System.in); if(in.hasNextInt()arri.setJava(in.nextInt();(”请输入"+arri.getName()+"English 的成绩");if(in.hasNextInt() arri.setC_shar(in.n
17、extInt();("请输入"+arri.getName()+"math 的 成绩");if(in.hasNextInt()arri.setMath(in.nextInt();(”请输入"+arri.getName()+"c 的成绩");if(in.hasNextInt()arri.setC(in.nextInt();this.print(arr);break;6 根据某门成绩排序代码: public void courseSort(int num,Student arr)if(num=1)for(int i=0;i<
18、arr.length-1;i+)for(int j=i+1;j<arr.length;j+) if(arri!=null&&arrj!=null) if(arri.getJava()<arrj.getJava() Student t=arri; arri=arrj;arrj=t;else if(num=2)for(int i=0;i<arr.length-1;i+)for(int j=i+1;j<arr.length;j+) if(arri!=null&&arrj!=null) if(arri.getEnglish()<arrj.g
19、etEnglish() Student t=arri;arri=arrj;arrj=t;else if(num=3)for(int i=0;i<arr.length-1;i+)for(int j=i+1;j<arr.length;j+) if(arri!=null&&arrj!=null) if(arri.getMath()<arrj.getMath()Student t=arri; arri=arrj; arrj=t;else if(num=4)for(int i=0;i<arr.length-1;i+)for(int j=i+1;j<arr.l
20、ength;j+) if(arri!=null&&arrj!=null)if(arri.getC()<arrj.getC()Student t=arri; arri=arrj; arrj=t;this.print(arr);7 根据总分排序代码: public void sumSort(Student arr)for(int i=0;i<arr.length-1;i+)for(int j=i+1;j<arr.length;j+)if(arri!=null&&arrj!=null) if(arri.getSum()<arrj.getSum(
21、) Student t=arri;arri=arrj;arrj=t;this.print(arr);( 3)主类: StudentManager 类代码: public class StudentManagerpublic static void main(String args) Scanner in=new Scanner(System.in);Student stuArr=new Student4;Admin adminStu=new Admin();while(true) 你要执行的功能 :");添加一个学生”);查找一个学生");:修改一个学生");删除
22、一个学生");输入学生的各门成绩");根据某门成绩进行排序");根据总分进行排序");退出系统");String number=in.next();6C / -91 -(.£.)s|enbe jequjnu)j! es|eJQjVns le6e leijueu tuo)eiepdn rnsu!iupeJ()iunxeu u!=e6e ;ui 心 翎立轴韦秦Y嗨星J)unu!chno ujeisAsJ()ixeu ui=eijueu 6ui4SL :乃刑轴韦秦Y嗨舆JupuuchnoujeisAs J()iunxeu ui=uo ;ui
23、L :各右轴韦右Y嗨毀JunuychnoueisAsL <<$|<.)uRuudino-ineisAs (.Z.)s|enbe jequjnu)j! es|e:(vn'uooeiesnisuiiupe J()iunxeu ui=uo ;uiK.: WW®#$|YWMH)uRuudino-ineisAsL 助瞬冒骂伞葺轴韦秦昇皐马坯JunuudjnoueisAs XC.Ljsienbe jequjnu)! es|e:(vmsObOeuueu)川 durmswiupeJ()iunxeu u!=e6e ;ui 心 翎立轴韦秦Y嗨星J)unu!chno ujeisA
24、sJ()ixeu ui=eijueu 6ui4SL :乃刑轴韦秦Y嗨舆JupuuchnoujeisAs(.O.)s|enbejequjnu)j!System.out.println(" 请输入学生的学号 :");int on=in.nextInt();adminStu.delete(on,stuArr);else if(number.equals("4")System.out.println(" 执行输入成绩操作 ");System.out.println(" 请输入学生的学号 :");int on=in.next
25、Int();adminStu.input(on,stuArr);else if(number.equals("5")System.out.println(" 执行根据某科成绩排序操作 ");System.out.println(" 请确定课程 :1.java 2.English3.math4.c");int num=in.nextInt();adminStu.courseSort(num, stuArr);else if(number.equals("6")System.out.println(" 执行根
26、据总分排序操作 "); adminStu.sumSort(stuArr);else if(number.equals("7")System.out.println(" 程序已结束! ");System.exit(0);(四)系统结构图学生信息管理系统五系统测试(一)运行界面39 昔理员:C:Wrn dstem 32 c m d .exe - Java StudentMa.ria序nt-de:-威仃序 蚀能 R排 怎功生生生生鲁仃 發二一学某总系 XJ你響修删黑虽(二)录入学生信息型 官浬島 C:dov/5 stemS2c nnd.exe - J
27、ava StudentMariJiger岸3English nath00SO| o | 回0aJ 6 o请输入学生的姓名=lan Lan请输入学生的年龄匕1学号 姓名年龄0xiaoun211 aninf222 lanlan21功生辜生夂曇仃 行门八; 执一一二 f,' 帚找改除入(三)查询学生信息riat hEnli?h00002122进亍排序輕能一理:彳4垠xiaoun am in Idn lanEngllsh math Enlih nath 0 &java0006皿 管理貝:C;'Jindovjzsy5tem32cmd.ewe - java StudentManag
28、er0J 00 01 Kyueyue序作22i aning(四)修改学生信息型 官理员:Cdov.-? syztetnS2cmd.exe - Java StudentM anager一 一一宀于某总系成行序 os排 生生生仃请输入学生的姓名5请输入学生的年龄,-修改学生信息 学号012javaxiaoyu an ing IanIan yuevueEnglish waAh c0&&0aaBBB0&0总分00O0(五)删除学生信息学号 姓名0xlaoti1 aninf2 lanlan2120年龄java00O00型 琶理昊:C:Windlowssystern32cmd.ex
29、e - java StudentM anagera S 000丄aning2 lanlan3 yueyueB(六)输入学生的各门成绩皿 管理貝:dosystem32cnnd-exe - Java StudentManager丹退出系统请输入xiaoyud已皿的成绩 ?0请谕入xiaoyuEnglisli的咸绩S3请输入x iaoyumath的成绩 S3请输入X ioywc的成绩K9(七)根据某门成绩排序3121J-ava9091an insXiaQBJLl10jav*919590姓名lanlan.matIt 4 . c丸忑冬据某科成绩排序操作 和毎正课程:1-java 2_EngliSli31
30、30345357J4S339总分35780nat h998080English80Ob90En$l isb90S580nat h83 ea99血营理天;C;Wind lvss/sterr32cmd.exe - java StudentM anager(=i 回2 41学某豊anat»G序成一1T序R排能功生生一仃T!HH门弓统 执一一二需找改除入学号2年龄212221(八)根据总分排序型 官遑员:CJo v.-5 stemS2c md .e xe - Java Stu den tM anage r成行序排 生仃 生门纂 -学某总系执行根据忌岔排序熬21T傳执*鯉功能lanIan an
31、£ng xiaayui年龄212221919590En 吕 1 “h9085SBnat n90 a 9 aa总分35734S抽呂(九)退出系统琵晋連吕:C:Win dcrW5system 32c md .exe?1请输入lan lAnEnglisk的成绩字0请输入b"1An mAt h的成绩99请输入1如lane的成绩S&学号姓名年龄javaEnglishnathG总分0Xi 已 oyii21908080ft El3301aning229585BOS53452Ianlan2191?0?OS6357你要执行91234£&7葩一*h1稈手已结束!六 结
32、论(一)结束语经过将近两个星期的学习、 设计和整理, 课程设计也差不多弄好 了。在这段时间里,我遇到了很多问题,学会了很多东西。刚开始的 时候,我以为这个设计只是一个很实际的编程而已,但是,当自己真 正动起手来编程的时候,我才发现这个设计并没有想象中的那么简 单。做课程设计让我对 Java 有了全新的认识,它不像原来我以为的 那么枯燥,反而变得很有趣, 我学到了很多我在上课时见都没有见过 的类和方法,这让我对编程又有了许多新的想法和认识在整个设计过程中,我查询了很多有关于本次程序设计的书籍, 同时我也借阅了网上的学生信息管理系统,取其精华,去其糟粕,完 成了本次的课程设计。(二)致谢在本次课程
33、设计过程中, 马程老师给予了我细心的指导, 让我能 够顺利的完成本次程序设计,在此,我表示由衷的感谢!同时我也要 向帮助过我的同学们表示衷心的感谢!(三)参考文献1 宋波等编著,Java程序设计一基于JDK 6和NetBeans实现,清华大学出版社, 2011 年出版2 刘万军、梁清华、王松波等编著,Java程序设计实践教程,清华大学 出版社, 2008.9 出版3 马文强、陈丹丹等编著, Java 从入门到精通,清华大学出版社, 2006.9 出版附件:源代码class Student private String name;private int on;private int age;pr
34、ivate int java;private int English;private int math;private int c;private int sum;public void setOn(int on)this.on=on;public int getOn()return this.on;public String getName() return ;public void setName(String name) = name;public int getAge() return this.age;public void setAge(int
35、 age) this.age = age;public int getJava() return java;public void setJava(int java) this.java = java;public int getEnglish() return English;public void setC_shar(int English) this.English = English;public int getMath() return math;public void setMath(int math) this.math = math;public int getC() retu
36、rn c;public void setC(int c) this.c = c;public int getSum() return sum;public void setSum() this.sum=this.java+this.c+this.math+this.English; public String toString()String msg="t"+this.on+"t"++"t"+this.age+"t"+this.java+"t"+this.English+&qu
37、ot;t"+this.math+"t"+this.c+"t"+this.sum; return msg;class Admin /用来管理学生的一个类String msg="t 学号t 姓名 t 年龄 tjavatEnglishtmathtc t 总分"public void print(Student arr)/用来刷新数据的for(int i=0;i<arr.length;i+)if(arri!=null)arri.setSum();public boolean exist(int on,Student stu)/
38、 判断学生是否存在if(stu!=null)if(stu.getOn()=on)return true;elsereturn false;return false;public void input(String name,int age,Student arr) / 添加学生的方法 Student stu=new Student();stu.setName(name);stu.setAge(age);int i=this.setIndex(arr);stu.setOn(i);if(i=99999)学生人数已到最大,不能再添加了 ");elsearri=stu;this.print(
39、arr);public int setIndex(Student arr)/返回数组里面为空的下标for(int i=0;i<arr.length;i+)if(arri=null)return i;return 99999;public void select(int on,Student arr)/ 查询方法for(int i=0;i<arr.length;i+)if(this.exist(on,arri)return;- 没有该学生的存在 -");public void update(int on,String name,int age,Student arr)/修改
40、学生信息for(int i=0;i<arr.length;i+)if(this.exist(on,arri) arri.setName(name); arri.setAge(age);- 修改学生信息成功 -"); this.print(arr);return;(”未找到该学生,修改信息失败”);public void delete(int on,Student arr)for(int i=0;i<arr.length;i+)if(this.exist(on,arri)arri=null; this.print(arr); return;(”您所指定学号的学生没有存在”)
41、;public void input(int on,Student arr) /输入学生成绩的操作 for(int i=0;i<arr.length;i+)if(this.exist(on, arri)("请输入"+arri.getName()+"java 的成 绩");Scanner in=new Scanner(System.in);if(in.hasNextInt()arri.setJava(in.nextInt();请 输 入 "+arri.getName()+"English的成绩 ");if(in.hasN
42、extInt()arri.setC_shar(in.nextInt();("请输入"+arri.getName()+"math 的成绩");if(in.hasNextInt()arri.setMath(in.nextInt();(”请输入"+arri.getName()+"c 的成绩");if(in.hasNextInt()arri.setC(in.nextInt();this.print(arr);break;public void courseSort(int num,Student arr) / 根据指定的课程排序if
43、(num=1)for(int i=0;i<arr.length-1;i+)for(int j=i+1;j<arr.length;j+)if(arri!=null&&arrj!=null) if(arri.getJava()<arrj.getJava()Student t=arri;arri=arrj;arrj=t;else if(num=2)for(int i=0;i<arr.length-1;i+)for(int j=i+1;j<arr.length;j+)if(arri!=null&&arrj!=null) if(arri.ge
44、tEnglish()<arrj.getEnglish()Student t=arri;arri=arrj;arrj=t;else if(num=3)for(int i=0;i<arr.length-1;i+)for(int j=i+1;j<arr.length;j+)if(arri!=null&&arrj!=null) if(arri.getMath()<arrj.getMath()Student t=arri;arri=arrj;arrj=t;else if(num=4)for(int i=0;i<arr.length-1;i+)for(int j=i+1;j<arr.length;j+)if(arri!=null&&arrj!=null) if(arri.getC()<arrj.getC()Student t=arri;arri=arrj;arrj=t;this.print(arr);public void sumSort(Student arr)/ 根据总分进行排序for(int i=0;i<arr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025昆明卫生职业学院教师招聘考试题目及答案
- 2025江西工业贸易职业技术学院教师招聘考试题目及答案
- 2026年经济学基础诊断测试及答案
- 考研社会工作试题及答案
- 2026北京外国语大学第二批教学科研岗位招聘建设笔试备考题库及答案解析
- 2026浙江台州市荣远客运有限公司招聘建设考试备考试题及答案解析
- 聚变新能(安徽)有限公司2026届校园招聘建设考试备考题库及答案解析
- 2026吉林白城市洮南市事业单位招聘高层次人才(含专项招聘高校毕业生)43人建设笔试备考试题及答案解析
- 2026年青岛平度市教育体育系统面向社会公开招聘教师(252人)建设笔试模拟试题及答案解析
- 2026湖南娄底市市直学校公开招聘工作人员15人建设考试参考题库及答案解析
- 酒店旅拍服务合作协议书范本
- DB62T 4085-2019 餐饮服务明厨亮灶建设要求
- T/CECS 10104-2020建筑外墙外保温装饰一体板
- 闽南民俗文化课件
- 2024年广东省五年一贯制学校招生考试数学试卷
- 2025年春苏教版小学科学五年级下册教学计划
- 木材货场消防培训
- DB 23T 1501-2013 水利堤(岸)坡防护工程格宾与雷诺护垫施工技术规范
- 岫岩污泥干化项目可行性研究报告1130
- 罐区安全培训教程
- DL∕T 2577-2022 轴流转浆式水轮发电机组检修规程
评论
0/150
提交评论