java语言学生信息管理系统.docx

上传人:b****7 文档编号:9248831 上传时间:2023-02-03 格式:DOCX 页数:11 大小:32.86KB
下载 相关 举报
java语言学生信息管理系统.docx_第1页
第1页 / 共11页
java语言学生信息管理系统.docx_第2页
第2页 / 共11页
java语言学生信息管理系统.docx_第3页
第3页 / 共11页
java语言学生信息管理系统.docx_第4页
第4页 / 共11页
java语言学生信息管理系统.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

java语言学生信息管理系统.docx

《java语言学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《java语言学生信息管理系统.docx(11页珍藏版)》请在冰豆网上搜索。

java语言学生信息管理系统.docx

java语言学生信息管理系统

 

学生信息管理系统开发与设计

java课程设计报告

 

目  录

一、概要设计……………………………………………………………3

二、程序整体设计说明…………………………………………….….3

三、程序部分源代码及注释…………………………………………….4

四、测试结果………………………………………………………….14

五、设计心得…………………………………………………………15

六、致 谢…………………………………………………………15

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

 

 

一、概要设计

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

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

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

二、程序的整体设计

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

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

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

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

(2)显示学生信息:

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

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

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

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

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

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

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

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

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

(5)添加学生信息

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

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

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

(6)删除学生信息:

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

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

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

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.退出管理");

System.out.printf(format,"1.显示学生");

System.out.printf(format,"2.查询学生");

System.out.printf(format,"3.添加学生");

System.out.printf(format,"4.删除学生");

System.out.printf(format,"5.功能菜单");

System.out.println("-------------------结束------------------");

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();

break;

case2:

ss.findStudent();

break;

case3:

ss.addStudent();

break;

case4:

ss.removeStudent();

break;

case5:

showMenus();

break;

default:

System.out.println("没有提供此项操作\n");

}

}catch(Exceptione){

System.out.println("\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(){

System.out.print("输入学生资料进行添加:

");//name|age

Stringinfo=scanner.nextLine();

Students=Student.buildStudent(info);

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

=null){thrownewRuntimeException("此学生信息已经存在");}

studentDao.addStudent(s);

System.out.println("\t添加成功\n");

}

publicvoidremoveStudent(){

System.out.print("输入学生姓名进行删除:

");

Stringname=scanner.nextLine();

Students=studentDao.findStudent(name);

if(s==null){

System.out.println("\t查无此学生");

}else{

studentDao.removeStudent(s);

System.out.println("\t已经删除学生:

"+s);

}

System.out.println();

}

//查找学生

publicvoidfindStudent(){

System.out.print("输入学生姓名进行查询:

");

Stringname=scanner.nextLine();

Students=studentDao.findStudent(name);

if(s==null){

System.out.println("查无此学生");

}else{

System.out.println("\t搜索查找到的学生:

"+s);

}

System.out.println();

}

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

publicvoidshowStudents(){

Liststudents=studentDao.getStudents();

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

System.out.println("列表中还没有任何学生");

}else{

System.out.println("========所有学生信息========");

}

for(Students:

students){

System.out.println("\t"+s);

}

System.out.println();

}

}

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

classStudentDao{

privateListstudents;

publicStudentDao(){

students=newArrayList();

}

//添加学生

publicvoidaddStudent(Studentstudent){

students.add(student);

}

//删除学生

publicvoidremoveStudent(Studentstudent){

students.remove(student);

}

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

publicStudentfindStudent(Stringname){

for(Students:

students){

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

}

returnnull;

}

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

publicListgetStudents(){

returnCollections.unmodifiableList(students);

}

}

classStudent{

privateStringname;

privateintage;

publicStudent(){

}

publicStudent(Stringname,intage){

this.name=name;

this.age=age;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

//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);

}

}

四、测试结果

  

 

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

(1)

    原因:

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

  如何解决:

将studentService(sd,scanner)改为

StudentService(sd,scanner)

(2)

    原因:

Override需要<标识符>    

如何解决:

在其后加上@

(3)

    原因:

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

    如何解决:

将“=”改成“==”

(4)

    原因:

“”是在汉语状态写入的

    如何解决:

改为英语状态输入""

(5)

    原因:

少写了一个大花括号

    如何解决:

补上一个后半大花括号

 

五、设计心得

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

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

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

 

六、致   谢

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

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

当前位置:首页 > 经管营销 > 生产经营管理

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

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