《Java程序设计--学生信息管理系统.doc》由会员分享,可在线阅读,更多相关《Java程序设计--学生信息管理系统.doc(93页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateJava程序设计-学生信息管理系统Java 程序设计课程设计Java 程序设计课程设计目 录摘 要- 2 -一 引 言- 3 -(一)问题提出- 3 -(二)需求与系统分析- 3 -1 需求分析- 3 -2 系统分析- 3 -二 程序的主要功能- 4 -(一)录入学生信息- 4 -(二)查询学生信息- 4 -(三)修改学生信息- 4 -(四)删除学生信息- 5 -(五
2、)根据某门成绩进行排序- 5 -(六)根据总分进行排序- 5 -(七)退出系统- 5 -三 程序运行平台- 5 -四 系统的详细设计- 6 -(一)任务要求- 6 -(二)设计思路- 6 -(三)程序类的说明- 6 -(1)Student类- 6 -(2)Admin类- 8 -(3)主类:StudentManager类- 15 -(四)系统结构图- 18 -五 系统测试- 19 -(一)运行界面- 19 -(二)录入学生信息- 20 -(三)查询学生信息- 20 -(四)修改学生信息- 21 -(五)删除学生信息- 22 -(六)输入学生的各门成绩- 22 -(七)根据某门成绩排序- 23 -
3、(八)根据总分排序- 24 -(九)退出系统- 25 -六 结论- 26 -(一)结束语- 26 -(二)致谢- 26 -(三)参考文献- 26 -附件:源代码- 27 -摘 要本系统主要用于对学生信息的管理,它使得管理人员在最短的时间内能够高效准确的对学生进行学生信息的管理。通过本次的学生信息管理系统,管理员可以将学生的学号、姓名、年龄、各科成绩(java、English、math、c)以及总分录入到信息管理系统中。学生可以进行个人信息的查询、修改、删除,同时也可以看到自己成绩的总分以及排名。通过该系统,可以更加快速、直观的对学生进行功能的操作。该系统改变了以前手工记录的方式,充分实现了学生
4、信息管理的计算机化。本次系统使用计算机进行学生信息系统管理,不仅能够提高工作效率,而且也能够很大程度上提高其安全性。尤其对于一些复杂的信息管理系统,计算机能够充分发挥它的优越性。关键词 程序设计 ;Java ;学生信息管理一 引 言(一)问题提出学生信息管理系统以计算机为工具,将管理人员从繁琐的数据计算中解脱出来,全面的提高了管理的效率和质量,使得管理更加的规范和严谨。世界处于信息化时代,人类的生活随着科技的发展越来越好,特别是计算机的出现,更加丰富了多姿多彩的生活。作为新时代的大学生,要随时掌握和利用信息,辅之以科学文化知识,来适应社会发展的要求,将来为祖国奉献自己的一份力。计算机Java语
5、言是一门理论与实践共存的课程,但是更侧重于实践,因此,我们要将实践教学与理论教学达到密切结合。(二)需求与系统分析1 需求分析(1)性能要求(2)功能要求(3)安全性要求(4)可使用资源方面的要求(5)可靠性要求2 系统分析学生信息管理系统是现在现代化管理的一个很好地平台,是一款针对学生的大量信息处理的管理软件。随着现在学校与学生人数的不断增加,管理者对学生信息管理系统的需求将会更加迫切。因此,设计并实现该系统是未来必不可少的需求。为此系统进行逻辑设计,它处于总体规划与系统设计两个阶段之间,是管理信息系统开发的第二个阶段,主要解决系统的功能。在总体规划的指导下,对系统进行详细深入的调查研究,将
6、一个系统分解成各个组成部分,确定新系统的逻辑概念的过程。分析的目的是研究系统的各个部分如何工作、如何交互,以获得一个合理的新系统的逻辑模型实现其系统目标。二 程序的主要功能(一)录入学生信息需录入学生的信息:学号姓名年龄java分数English分数math分数C分数0xiaoyun21908080801aning22958580852lanlan21919090863yueyue20858099704tiantian2170688376(二)查询学生信息输入学生的学号之后,学生信息就会出现。(三)修改学生信息输入学生的学号之后,系统就会让程序员修改学生的姓名、年龄以及各科的分数。(四)删除学
7、生信息输入学生的学号之后,系统就会自动删除该学生的信息。再次查找该同学时,需要重新录入才可以。(五)根据某门成绩进行排序当录入完全部的学生之后,若需要按照某门成绩进行排序,则输入编号,系统会相应的给出排序。(六)根据总分进行排序当需要根据总分进行排序时,输入相应的编号之后,即可出现总分的排序(七)退出系统选择数字“7”,系统会出现“程序已结束!”字样,即可退出。三 程序运行平台1 windows 7或者windows 8操作系统2 NeatBeans软件或者DOS界面(需要设置程序运行环境和路径)四 系统的详细设计(一)任务要求1 录入学生的学号、姓名、年龄、java分数、English分数、
8、math分数、C分数2 查询已知学生的信息3 修改已知学生的信息4 删除学生的信息5 根据某门成绩排序6 根据总分排序(二)设计思路根据学生信息管理系统的课程设计任务要求,我需要编写一个程序来存放学生的信息,并且对学生可以执行录入、查询、修改、删除、排序等操作。定义公共主类StudentManager、一个学生类Student(包含name、on、age、java、English、math、c、sum)、一个操作类Admin等完成程序的执行。(三)程序类的说明(1)Student类数据成员:private String name;/姓名private int on;/学号 private in
9、t age;/年龄 private 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
10、(int on)this.on=on;public int getOn()return this.on;public String getName() return this.name;public void setName(String name) this.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 = jav
11、a;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() return c;public void setC(int c) this.c = c;public int getSum() return sum;public void setSum() this.su
12、m=this.java+this.c+this.math+this.English;public String toString()String msg=t+this.on+t+this.name+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年龄t javatEnglishtmathtc t总分;1 录入学生信息代码:public void input(String name,int age,Student arr)Stud
13、ent stu=new Student();stu.setName(name);stu.setAge(age);int i=this.setIndex(arr);stu.setOn(i);if(i=99999)System.out.println(学生人数已到最大,不能再添加!);elsearri=stu;this.print(arr);2 查询学生信息代码:public void select(int on,Student arr)System.out.println(msg);for(int i=0;iarr.length;i+)if(this.exist(on,arri)System.o
14、ut.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;iarr.length;i+)if(this.exist(on,arri)arri.setName(name);arri.setAge(age);System.out.println(-修改学生信息成功-);this.print(arr);return;System.out.pr
15、intln(未找到该学生,修改信息失败);4 删除学生信息代码:public void delete(int on,Student arr)for(int i=0;iarr.length;i+)if(this.exist(on,arri)arri=null;this.print(arr);return;System.out.println(您所指定学号的学生没有存在);5 输入学生成绩代码:public void input(int on,Student arr) for(int i=0;iarr.length;i+) if(this.exist(on, arri) System.out.pr
16、intln(请输入+arri.getName()+java的成绩);Scanner in=new Scanner(System.in);if(in.hasNextInt()arri.setJava(in.nextInt();System.out.println(请输入+arri.getName()+English的成绩);if(in.hasNextInt()arri.setC_shar(in.nextInt();System.out.println(请输入+arri.getName()+math的成绩);if(in.hasNextInt()arri.setMath(in.nextInt();S
17、ystem.out.println(请输入+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;iarr.length-1;i+)for(int j=i+1;jarr.length;j+)if(arri!=null&arrj!=null)if(arri.getJava()arrj.getJava()Student t=arri;
18、arri=arrj;arrj=t;else if(num=2)for(int i=0;iarr.length-1;i+)for(int j=i+1;jarr.length;j+)if(arri!=null&arrj!=null)if(arri.getEnglish()arrj.getEnglish()Student t=arri;arri=arrj;arrj=t;else if(num=3)for(int i=0;iarr.length-1;i+)for(int j=i+1;jarr.length;j+)if(arri!=null&arrj!=null)if(arri.getMath()arr
19、j.getMath()Student t=arri;arri=arrj;arrj=t;else if(num=4)for(int i=0;iarr.length-1;i+)for(int j=i+1;jarr.length;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;iarr.length-1;i+)for(int j=i+1;j
20、arr.length;j+)if(arri!=null&arrj!=null)if(arri.getSum()arrj.getSum()Student t=arri;arri=arrj;arrj=t;this.print(arr);(3)主类:StudentManager类代码:public class StudentManager public static void main(String args) Scanner in=new Scanner(System.in);Student stuArr=new Student4;Admin adminStu=new Admin();while(
21、true)System.out.println(-你要执行的功能:-);System.out.println(0:添加一个学生);System.out.println(1:查找一个学生);System.out.println(2:修改一个学生);System.out.println(3:删除一个学生);System.out.println(4:输入学生的各门成绩);System.out.println(5:根据某门成绩进行排序);System.out.println(6:根据总分进行排序);System.out.println(7:退出系统);String number=in.next();i
22、f(number.equals(0)System.out.println(请输入学生的姓名:);String name=in.next();System.out.println(请输入学生的年龄:);int age=in.nextInt();adminStu.input(name,age,stuArr);else if(number.equals(1)System.out.println(执行查找学生的基本信息操作);System.out.println(请输入学生的学号进行查找:);int on=in.nextInt();adminStu.select(on,stuArr);else if(
23、number.equals(2)System.out.println(执行修改学生的基本信息);System.out.println(请输入学生的学号:);int on=in.nextInt();System.out.println(请输入学生的姓名:);String name=in.next();System.out.println(请输入学生的年龄:);int age=in.nextInt();adminStu.update(on, name, age, stuArr);else if(number.equals(3)System.out.println(执行删除操作);System.ou
24、t.println(请输入学生的学号:);int on=in.nextInt();adminStu.delete(on,stuArr);else if(number.equals(4)System.out.println(执行输入成绩操作);System.out.println(请输入学生的学号:);int on=in.nextInt();adminStu.input(on,stuArr);else if(number.equals(5)System.out.println(执行根据某科成绩排序操作);System.out.println(请确定课程:1.java 2.English3.mat
25、h 4.c);int num=in.nextInt();adminStu.courseSort(num, stuArr);else if(number.equals(6)System.out.println(执行根据总分排序操作);adminStu.sumSort(stuArr);else if(number.equals(7)System.out.println(程序已结束!);System.exit(0); (四)系统结构图根据总分排序“程序已结束”学生信息管理系统退出系统根据某门成绩排序录入各门成绩删除学生信息查询学生信息录入学生信息修改学生信息五 系统测试(一)运行界面(二)录入学生信
26、息(三)查询学生信息(四)修改学生信息(五)删除学生信息(六)输入学生的各门成绩(七)根据某门成绩排序(八)根据总分排序(九)退出系统六 结论(一)结束语经过将近两个星期的学习、设计和整理,课程设计也差不多弄好了。在这段时间里,我遇到了很多问题,学会了很多东西。刚开始的时候,我以为这个设计只是一个很实际的编程而已,但是,当自己真正动起手来编程的时候,我才发现这个设计并没有想象中的那么简单。做课程设计让我对Java有了全新的认识,它不像原来我以为的那么枯燥,反而变得很有趣,我学到了很多我在上课时见都没有见过的类和方法,这让我对编程又有了许多新的想法和认识在整个设计过程中,我查询了很多有关于本次程
27、序设计的书籍,同时我也借阅了网上的学生信息管理系统,取其精华,去其糟粕,完成了本次的课程设计。(二)致谢在本次课程设计过程中,马程老师给予了我细心的指导,让我能够顺利的完成本次程序设计,在此,我表示由衷的感谢!同时我也要向帮助过我的同学们表示衷心的感谢!(三)参考文献1宋波等编著,Java程序设计基于JDK 6和NetBeans实现,清华大学出版社,2011年出版2刘万军、梁清华、王松波等编著,Java程序设计实践教程,清华大学出版社,2008.9出版3马文强、陈丹丹等编著,Java从入门到精通,清华大学出版社,2006.9出版附件:源代码import java.util.*;class St
28、udent 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;public int getOn()return this.on;public String getName() return this.name;public void setName(String name) this.name = name
29、;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 getEnglish() return English;public void setC_shar(int English) this.English = English;public int getMath() return math;public voi
30、d 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+this.math+this.English;public String toString()String msg=t+this.on+t+this.name+t+this.age+t+this.java+t+this.English+t+thi
31、s.math+t+this.c+t+this.sum;return msg; class Admin /用来管理学生的一个类String msg=t学号t姓名t年龄tjavatEnglishtmathtc t总分;public void print(Student arr) /用来刷新数据的System.out.println(msg);for(int i=0;iarr.length;i+)if(arri!=null)arri.setSum();System.out.println(arri);public boolean exist(int on,Student stu) /判断学生是否存在
32、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)System.out.println(学生人数已到最大,不能再添加了);elsearri=stu;this.print
33、(arr);public int setIndex(Student arr) /返回数组里面为空的下标for(int i=0;iarr.length;i+)if(arri=null)return i;return 99999;public void select(int on,Student arr) /查询方法System.out.println(msg);for(int i=0;iarr.length;i+)if(this.exist(on,arri)System.out.println(msg);System.out.println(arri);return;System.out.pri
34、ntln(-没有该学生的存在-);public void update(int on,String name,int age,Student arr) /修改学生信息for(int i=0;iarr.length;i+)if(this.exist(on,arri)arri.setName(name);arri.setAge(age);System.out.println(-修改学生信息成功-);this.print(arr);return;System.out.println(未找到该学生,修改信息失败);public void delete(int on,Student arr)for(in
35、t i=0;iarr.length;i+)if(this.exist(on,arri)arri=null;this.print(arr);return;System.out.println(您所指定学号的学生没有存在);public void input(int on,Student arr) /输入学生成绩的操作for(int i=0;iarr.length;i+)if(this.exist(on, arri)System.out.println(请输入+arri.getName()+java的成绩);Scanner in=new Scanner(System.in);if(in.hasNe
36、xtInt()arri.setJava(in.nextInt();System.out.println(请输入+arri.getName()+English的成绩);if(in.hasNextInt()arri.setC_shar(in.nextInt();System.out.println(请输入+arri.getName()+math的成绩);if(in.hasNextInt()arri.setMath(in.nextInt();System.out.println(请输入+arri.getName()+c的成绩);if(in.hasNextInt()arri.setC(in.nextI
37、nt();this.print(arr);break;public void courseSort(int num,Student arr) /根据指定的课程排序if(num=1)for(int i=0;iarr.length-1;i+)for(int j=i+1;jarr.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;iarr.length-1;i+)for(int j=i+1;jarr.le
38、ngth;j+)if(arri!=null&arrj!=null)if(arri.getEnglish()arrj.getEnglish()Student t=arri;arri=arrj;arrj=t;else if(num=3)for(int i=0;iarr.length-1;i+)for(int j=i+1;jarr.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;iarr.length-1;i+)for