东北大学java实验3.docx

上传人:b****6 文档编号:8219520 上传时间:2023-01-29 格式:DOCX 页数:44 大小:367.05KB
下载 相关 举报
东北大学java实验3.docx_第1页
第1页 / 共44页
东北大学java实验3.docx_第2页
第2页 / 共44页
东北大学java实验3.docx_第3页
第3页 / 共44页
东北大学java实验3.docx_第4页
第4页 / 共44页
东北大学java实验3.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

东北大学java实验3.docx

《东北大学java实验3.docx》由会员分享,可在线阅读,更多相关《东北大学java实验3.docx(44页珍藏版)》请在冰豆网上搜索。

东北大学java实验3.docx

东北大学java实验3

JAVA实验报告三

 

学院:

计算机科学与工程学院

专业:

计算机科学与技术专业

班级:

1507班

姓名:

罗艺博

学号:

20154377

实验时间:

2017/09/18

一、实验要求

(1)创建研究生和本科生两个类,并继承学生类,其中,研究生借书上限为5本,本科生借书上限为3本;

(2)创建管理员类,使其有权限增添、删除图书馆中存书;

(3)使教师、学生能够查询书被谁借走。

二、实验内容

1.概要设计

本程序由8个类组成,分别为:

Runer()、Libaray()、Book()、Iadm()、Teacher()、Student()、Undergraduate()、Postgraduate()。

其中,Runer()类:

考虑到图书馆和管理员都只有一个,因此在main函数中创建了一个图书馆对象和一个管理员对象。

除此之外,Runer()类也作为用户界面的承担者。

Libaray()类:

图书馆类。

分别创建了Book()、Teacher()、Student()、Undergraduate()、Postgraduate()的对象数组,完成了显示图书信息、教师信息、学生信息的功能。

包含图书馆界面。

Book()类:

图书类。

包含图书ID、书名、作者、入库时间、借阅者ID、借阅者姓名等信息,并包含教师借书、教师还书、学生借书、学生还书等功能,其中,借书时,当要借的图书被借走的情况下,可查询到该书被谁借走。

Iadm()类:

管理员类。

包含管理员ID和管理员密码,所含有的功能最多,分别有图书的录入、修改、删除,教师信息的录入、修改、删除,学生信息的录入、修改、删除和修改密码等功能。

Teacher()类:

教师类。

包含教师姓名、工号、借阅量等信息。

教师的图书最大借阅量被设置为6本。

Student()类:

学生类。

包含学生姓名、学号、性别、班级、年龄、图书借阅量等信息。

Undergraduate()类:

本科生类。

继承了Student()类,在原有基础上,增添了户籍所在地等信息。

本科生的图书最大借阅量被设置为3本。

Postgraduate()类:

研究生类。

继承了Student()类,在原有基础上,增添了户籍所在地、婚姻状况等信息。

研究生的图书最大借阅量被设置为3本。

各个类的关系图

 

2.流程图

图书管理系统流程图

3.关键函数

Runer():

main:

主函数,创建图书馆、管理员对象,调用主界面函数

maininterface:

主界面

adminterface:

管理员界面

adminterface2:

添加学生中用于判断是本科生还是研究生

adminterface5:

修改学生信息中用于判断是本科生还是研究生

adminterface3:

删除学生中用于判断是本科生还是研究生

adminterface4:

显示学生信息中用于判断是本科生还是研究生

interfacestudent:

学生界面

interfaceteacher:

教师界面

Libaray():

showBooks:

显示图书信息

showStudents:

显示学生信息

showUndergraduates:

显示本科生信息

showPostgraduate:

显示研究生信息

showTeachers:

显示教师信息

jbbook:

用于教师借书的判断

jrbook:

用于教师还书的判断

jbbookStu:

用于学生借书的判断

jrbookStu:

用于学生还书的判断

Book():

modifyname:

修改书名

getName:

返回书名

borrow:

教师借书

returnBook:

教师还书

sborrow:

学生借书

sreturnBook:

学生还书

showBook:

显示单本图书信息

Iadm():

changePassword:

更改密码

getpass:

返回密码

entry:

图书录入

modifyBook:

修改图书信息

deletBook:

删除图书

entryUndergraduate:

录入本科生

deletUndergraduate:

删除本科生

modifyUndergraduate:

修改本科生信息

entryPostgraduate:

录入研究生

deletPostgraduate:

删除研究生

modifyPostgraduate:

修改研究生信息

entryTeacher:

录入教师

deletTeacher:

删除教师

modifyTeacher:

修改教师信息

Teacher():

modifid:

修改工号

getId:

返回工号

getnum:

返回借阅数

getmaxnum:

返回最大借阅量

getname:

返回姓名

pNum:

借阅量+1

sNum:

借阅量-1

showTeacher:

显示单个教师信息

Student():

setAge:

设置年龄

getId:

返回id

getnum:

返回借阅量

getmaxnum:

返回最大借阅量

getname:

返回姓名

pNum:

借阅量+1

sNum:

借阅量-1

showStudent:

显示单个学生信息

Undergraduate():

showUndergraduate:

显示单个本科生信息

Postgraduate():

modifyMaritalstatus:

修改研究生婚姻状况

showPostgraduate:

显示单个研究生信息

三、实验步骤

按照流程图与关系图,根据题目要求编写代码。

细化各个功能,并相应添加功能。

本科生类、研究生类继承学生类:

创建管理员类(示例添加图书,其他略):

若要借的书籍被借走时显示此图书借阅者(学生借书同理,略):

若查询到此书被借走,则打印出此书的借书信息

四、实验结果

首先先修改一下管理员密码:

在图书馆中添加一些书籍、学生、教师:

删除书籍、学生、教师:

学生借书、借书量到达上限:

当教师要借《皮皮鲁1》时,由于这本书已经被其他人借走,因此会显示这本书的借阅者(学生借书同理):

修改书籍、学生、教师信息:

还书(学生、教师同理):

显示图书、学生、教师信息:

五、心得体会

在学习Java语言之前,我一直喜欢用C语言解决问题。

经历了这几次实验,我慢慢认识到了Java语言的优秀。

只要能好好运用“类”,问题都能迎刃而解,而且Java语言本身也向我们提供了很多很好用的类,比如栈、队列、向量等,这些类在C语言编程中也时常用到,但是需要自己实现,而在Java中就能直接使用,这就使我们平时编程更加方便。

源程序代码

Runer():

importjava.text.SimpleDateFormat;

importjava.util.Date;

importjava.util.Scanner;

 

publicclassRuner{

publicstaticvoidmain(String[]agrs){

Libarayl=newLibaray("测试图书馆");

Iadmadm=newIadm

(1);//创建管理员

maininterface(l,adm);

}

//主界面

publicstaticvoidmaininterface(Libarayl,Iadmadm){

while(true){

for(inti=0;i<5;i++){

System.out.println();

}

System.out.println("请选择个人身份:

1.学生2.教师3.管理员");

Scannersc=newScanner(System.in);

intreceive=sc.nextInt();

sc.nextLine();

switch(receive){

case1:

for(inti=0;i<5;i++){

System.out.println();

}

System.out.println("哈哈哈你是学生!

");

interfacestudent(l);

break;

case2:

for(inti=0;i<5;i++){

System.out.println();

}

System.out.println("哈哈哈你是老师!

");

interfaceteacher(l);

break;

case3:

System.out.println("请输入管理员密码:

");

Stringpas=sc.nextLine();

if(pas.equals(adm.getpass())){

for(inti=0;i<5;i++){

System.out.println();

}

System.out.println("哈哈哈你是管理员!

");

adminterface(l,adm);

}

else{

System.out.println("密码错误,请重试!

");

}

break;

default:

for(inti=0;i<5;i++){

System.out.println();

}

System.out.println("哈哈哈你选错了!

");

break;

}

//sc.close();

}

//return0;

}

//管理员界面

publicstaticvoidadminterface(Libarayl,Iadmadm){

System.out.println("请选择功能:

");

System.out.println("1.添加图书2.删除图书3.修改图书信息4.显示图书信息");

System.out.println("5.添加学生信息6.删除学生信息7.修改学生信息8.显示学生信息");

System.out.println("9.添加教师信息10.删除教师信息11.修改教师信息12.显示教师信息");

System.out.println("13.修改密码");

Scannersai=newScanner(System.in);

intfeatures=sai.nextInt();

switch(features){

case1:

//添加图书

for(inti=0;i<5;i++){

System.out.println();

}

adm.entry();

break;

case2:

//删除图书

for(inti=0;i<5;i++){

System.out.println();

}

adm.deletBook();

break;

case3:

//修改图书信息

for(inti=0;i<5;i++){

System.out.println();

}

adm.modifyBook();

break;

case5:

//添加学生信息

for(inti=0;i<5;i++){

System.out.println();

}

adminterface2(adm);

break;

case6:

//删除学生信息

for(inti=0;i<5;i++){

System.out.println();

}

adminterface3(adm);

break;

case9:

//添加教师信息

for(inti=0;i<5;i++){

System.out.println();

}

adm.entryTeacher();

break;

case10:

//删除教师信息

for(inti=0;i<5;i++){

System.out.println();

}

adm.deletTeacher();

break;

case4:

//显示图书信息

for(inti=0;i<5;i++){

System.out.println();

}

l.showBooks();

break;

case8:

//显示学生信息

for(inti=0;i<5;i++){

System.out.println();

}

adminterface4(l);

break;

case12:

//显示教师信息

for(inti=0;i<5;i++){

System.out.println();

}

l.showTeachers();

break;

case7:

//修改学生信息

for(inti=0;i<5;i++){

System.out.println();

}

adminterface5(l,adm);

break;

case11:

//修改教师信息

for(inti=0;i<5;i++){

System.out.println();

}

adm.modifyTeacher();

break;

case13:

//修改密码

for(inti=0;i<5;i++){

System.out.println();

}

adm.changePassword();

break;

default:

for(inti=0;i<5;i++){

System.out.println();

}

System.out.println("哈哈哈你选错了!

");

break;

}

//sai.close();

//return0;

}

//添加学生-判断

publicstaticvoidadminterface2(Iadmadm){

while(true){

System.out.println("请选择:

1.本科生2.研究生");

Scannersai2=newScanner(System.in);

intsstu=sai2.nextInt();

if(sstu==1){//添加本科生

for(inti=0;i<5;i++){

System.out.println();

}

adm.entryUndergraduate();

break;

}

elseif(sstu==2){//添加研究生

for(inti=0;i<5;i++){

System.out.println();

}

adm.entryPostgraduate();

break;

}

else{

System.out.println("输入有误,请重新选择!

");

for(inti=0;i<5;i++){

System.out.println();

}

}

//sai2.close();

}

}

//修改学生信息-判断

publicstaticvoidadminterface5(Libarayl,Iadmadm){

while(true){

System.out.println("请选择:

1.本科生2.研究生");

Scannersai5=newScanner(System.in);

intsstu=sai5.nextInt();

if(sstu==1){//显示本科生

for(inti=0;i<5;i++){

System.out.println();

}

adm.modifyUndergraduate();

break;

}

elseif(sstu==2){//显示研究生

for(inti=0;i<5;i++){

System.out.println();

}

adm.modifyPostgraduate();

break;

}

else{

System.out.println("输入有误,请重新选择!

");

for(inti=0;i<5;i++){

System.out.println();

}

}

//sai4.close();

}

}

//删除学生-判断

publicstaticvoidadminterface3(Iadmadm){

while(true){

System.out.println("请选择:

1.本科生2.研究生");

Scannersai3=newScanner(System.in);

intsstu=sai3.nextInt();

if(sstu==1){//删除本科生

for(inti=0;i<5;i++){

System.out.println();

}

adm.deletUndergraduate();

break;

}

elseif(sstu==2){//删除研究生

for(inti=0;i<5;i++){

System.out.println();

}

adm.deletPostgraduate();

break;

}

else{

System.out.println("输入有误,请重新选择!

");

for(inti=0;i<5;i++){

System.out.println();

}

}

//sai3.close();

}

}

//显示学生-判断

publicstaticvoidadminterface4(Libarayl){

while(true){

System.out.println("请选择:

1.本科生2.研究生");

Scannersai4=newScanner(System.in);

intsstu=sai4.nextInt();

if(sstu==1){//显示本科生

for(inti=0;i<5;i++){

System.out.println();

}

l.showUndergraduates();

break;

}

elseif(sstu==2){//显示研究生

for(inti=0;i<5;i++){

System.out.println();

}

l.showPostgraduate();

break;

}

else{

System.out.println("输入有误,请重新选择!

");

for(inti=0;i<5;i++){

System.out.println();

}

}

//sai4.close();

}

}

//学生界面

publicstaticvoidinterfacestudent(Libarayl){

while(true){

System.out.println("请选择服务类型:

1.借书2.还书");

Scannerints=newScanner(System.in);

inttype=ints.nextInt();

if(type==1){//借书

for(inti=0;i<5;i++){

System.out.println();

}

l.jbbookStu();

break;

}

elseif(type==2){//还书

for(inti=0;i<5;i++){

System.out.println();

}

l.jrbookStu();

break;

}

else{

for(inti=0;i<5;i++){

System.out.println();

}

System.out.println("输入错误,请重试!

");

}

}

}

//教师界面

publicstaticvoidinterfaceteacher(Libarayl){

while(true){

System.out.println("请选择服务类型:

1.借书2.还书");

Scannerintt=newScanner(System.in);

inttype=intt.nextInt();

if(type==1){//借书

for(inti=0;i<5;i++){

System.out.println();

}

l.jbbook();

break;

}

elseif(type==2){//还书

for(inti=0;i<5;i++){

System.out.println();

}

l.jrbook();

break;

}

else{

for(inti=0;i<5;i

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

当前位置:首页 > 医药卫生 > 基础医学

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

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