学生信息管理系统开发与设计Word下载.docx

上传人:b****5 文档编号:20426321 上传时间:2023-01-22 格式:DOCX 页数:10 大小:33.46KB
下载 相关 举报
学生信息管理系统开发与设计Word下载.docx_第1页
第1页 / 共10页
学生信息管理系统开发与设计Word下载.docx_第2页
第2页 / 共10页
学生信息管理系统开发与设计Word下载.docx_第3页
第3页 / 共10页
学生信息管理系统开发与设计Word下载.docx_第4页
第4页 / 共10页
学生信息管理系统开发与设计Word下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

学生信息管理系统开发与设计Word下载.docx

《学生信息管理系统开发与设计Word下载.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统开发与设计Word下载.docx(10页珍藏版)》请在冰豆网上搜索。

学生信息管理系统开发与设计Word下载.docx

七、参考文献…………………………………………………………15

1、概要设计

由于学生信息的冗长与繁琐,所以它的管理问题带来的麻烦和不方便也随之而来,所以开发一个合适学校的、便于管理学生信息的管理系统是十分必要的。

学生信息管理系统是对学生的基本信息进行管理,主要包括显示、查询、添加和删除学生的基本信息,方便管理人员对学生基本信息进行查询,排序等操作,从而实现学生信息管理的自动化与计算机化。

本课题将实现一个简化的学生信息管理系统。

2、程序的整体设计

(1)学生基本信息的录入和保存:

在链表中的适当位置插入一个学生信息节点,一次添加一条学生信息(添加内容包含学号、姓名、年龄),如果添加的学号已经在文件中存在,则不能添加到文件中去,应显示错误提示语;

如果添加成功,则显示成功提示语。

添加操作完毕后,应该询问用户是否继续执行此操作。

如果用户不继续,则退回到程序初始界面。

(2)显示学生信息:

此功能是显示一个学生信息节点中的信息,并在屏幕上显示出来。

(3)按学号查找学生信息:

按学号查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。

查询操作完毕后,应该询问用户是否继续执行此操作。

(4)按姓名查找学生信息:

按姓名查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。

(5)添加学生信息

添加学生信息中的某一项信息,一次更新一条学生信息(更新内容包含学号、姓名、年龄等字段值),如果更新的学号在文件中不存在,则不能更新,应该显示错误提示语;

如果更新成功,则显示成功提示语。

更新操作完毕后,应该询问用户是否继续执行此操作。

(6)删除学生信息:

进入该项功能界面后,删除学生信息,一次删除一条学生信息。

(7)退出系统,结束任务。

3、程序部分源代码及注释

importjava.io.IOException;

importjava.util.ArrayList;

importjava.util.Collections;

importjava.util.List;

importjava.util.Scanner;

publicclassStudentManageSystem{

//StudentManager中提供的操作菜单

publicstaticvoidshowMenus(){

Stringformat="

%s\n"

;

System.out.println("

----------------功能菜单------------------"

);

System.out.printf(format,"

0.退出管理"

1.显示学生"

2.查询学生"

3.添加学生"

4.删除学生"

5.功能菜单"

-------------------结束------------------"

System.out.println();

}

//管理学生

publicvoidmanageStudents()throwsIOException{

Scannerscanner=newScanner(System.in);

StudentDaosd=newStudentDao();

StudentServicess=newStudentService(sd,scanner);

showMenus();

intop=-1;

while(op!

=0){

System.in.skip(System.in.available());

System.out.print("

输入菜单编号:

"

op=scanner.nextInt();

scanner.nextLine();

//吃掉输入菜单编号后无效的回车字符

try{

switch(op){

case0:

break;

case1:

ss.showStudents();

case2:

ss.findStudent();

case3:

ss.addStudent();

case4:

ss.removeStudent();

case5:

default:

没有提供此项操作\n"

}catch(Exceptione){

\t"

+e.getMessage()+"

\n"

publicstaticvoidmain(String[]args)throwsIOException{

StudentManageSystemsm=newStudentManageSystem();

sm.manageStudents();

}

classStudentService{

privateStudentDaostudentDao;

privateScannerscanner;

publicStudentService(StudentDaostudentDao,Scannerscanner){

this.studentDao=studentDao;

this.scanner=scanner;

//添加学生

publicvoidaddStudent(){

输入学生资料进行添加:

//name|age

Stringinfo=scanner.nextLine();

Students=Student.buildStudent(info);

if(studentDao.findStudent(s.getName())!

=null){thrownewRuntimeException("

此学生信息已经存在"

studentDao.addStudent(s);

\t添加成功\n"

publicvoidremoveStudent(){

输入学生姓名进行删除:

Stringname=scanner.nextLine();

Students=studentDao.findStudent(name);

if(s==null){

\t查无此学生"

}else{

studentDao.removeStudent(s);

\t已经删除学生:

+s);

//查找学生

publicvoidfindStudent(){

输入学生姓名进行查询:

查无此学生"

\t搜索查找到的学生:

//显示已经有的学生信息

publicvoidshowStudents(){

List<

Student>

students=studentDao.getStudents();

if(students.size()==0){

列表中还没有任何学生"

========所有学生信息========"

for(Students:

students){

//对学生数据进行执久化操作

classStudentDao{

privateList<

students;

publicStudentDao(){

students=newArrayList<

();

publicvoidaddStudent(Studentstudent){

students.add(student);

//删除学生

publicvoidremoveStudent(Studentstudent){

students.remove(student);

//使用学生的名字查找进行查找

publicStudentfindStudent(Stringname){

if(s.getName().equals(name)){returns;

returnnull;

//返回学生列表的视图,不可修改

publicList<

getStudents(){

returnCollections.unmodifiableList(students);

classStudent{

privateStringname;

privateintage;

publicStudent(){

publicStudent(Stringname,intage){

this.name=name;

this.age=age;

publicStringgetName(){

returnname;

publicvoidsetName(Stringname){

//Infoformat:

name|age

publicstaticStudentbuildStudent(StringstudentInfo){

if(!

studentInfo.matches("

\\w+\\|\\d+"

)){thrownewRuntimeException(

Thestudentinformation'

sformatshouldbe\"

name|age\"

withoutquote"

String[]infos=studentInfo.split("

\\|"

Stringname=infos[0].trim();

intage=Integer.parseInt(infos[1]);

returnnewStudent(name,age);

@Override

publicStringtoString(){

returnString.format("

Name:

%s,Age:

%d"

name,age);

4、测试结果

在调试的过程中,出现了许多错误,现将几类有代表性的错误列举如下:

(1)

原因:

在引用用户变量与定义时的不一致,第二个字母大写了。

如何解决:

将studentService(sd,scanner)改为

StudentService(sd,scanner)

(2)

原因:

Override需要<

标识符>

在其后加上@

(3)

在判断时的比较符写成了赋值号

将“=”改成“==”

(4)

“”是在汉语状态写入的

改为英语状态输入"

(5)

少写了一个大花括号

补上一个后半大花括号

5、设计心得

通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。

这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。

它还让我学会了在网上查阅那些无限的资料。

6、致 

在本次Java课程设计中,首先要感谢我的指导老师***老师教给了我很多的Java的编程知识,编程思想,还有要感谢我的同学,是他们在我遇到困难时给了我指导

7、参考文献

[1]《java课程设计》 

耿祥义编著 

 

清华大学出版社

[2]《java2范例入门与提高》 

东方人华主编 

艾力江编著清华大学出版社

[3]《java2程序设计实用教程》叶核亚编著陈道蓄主审 

电子工业出版社

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

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1