java编写图书馆管理系统.docx

上传人:b****7 文档编号:9969051 上传时间:2023-02-07 格式:DOCX 页数:80 大小:140.49KB
下载 相关 举报
java编写图书馆管理系统.docx_第1页
第1页 / 共80页
java编写图书馆管理系统.docx_第2页
第2页 / 共80页
java编写图书馆管理系统.docx_第3页
第3页 / 共80页
java编写图书馆管理系统.docx_第4页
第4页 / 共80页
java编写图书馆管理系统.docx_第5页
第5页 / 共80页
点击查看更多>>
下载资源
资源描述

java编写图书馆管理系统.docx

《java编写图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《java编写图书馆管理系统.docx(80页珍藏版)》请在冰豆网上搜索。

java编写图书馆管理系统.docx

java编写图书馆管理系统

 

面向对象课程设计报告

课程设计题目:

图书信息管理系统

 

学院:

计算机科学与技术学院

专业:

软件工程

班级:

131

学号:

1308060130

学生姓名:

易榜宇

指导教师:

汪健

 

2014年7月12日

 

一、课程设计目的及要求

1:

课程设计要求

面向对象程序设计是一门实践性较强的课程,以实际应用为目的。

在课程设计时应注重培养学生的实际操作能力。

本课程设计安排了16学时的实验课时,具体要求如下:

1.学习和理解课程设计题目的基本理论和方法;

2.掌握实验的实现步骤和关键技术;

3.准备好实验所需要的资源和文档;

4.上机实现程序,得到通过调试的正确程序。

5.根据实验的要求,完成实验报告的word文档。

2:

课程设计目的

面向对象程序设计是软件工程专业的专业基础课,目的是让学生通过对面向对象程序设计语言(例如Java)的学习,全面理解和掌握面向对象程序设计的基本思想、基本概念和基本方法。

本课程设计是面向对象程序设计课程的后续实践课程。

在本课程设计中,将利用JDK1.7/1.8平台和Eclipse(Netbeans)集成开发环境为实践工具,通过上机实践培养学生分析具体问题、利用面向对象语言工具(Java)解决实际问题的能力,更好地理解和掌握面向对象的思想、概念和方法。

二、课程设计实践环境

Win7、JDK1.7/1.8以及Eclipse集成开发环境。

 

三、课程设计内容

1:

图书借阅信息管理系统

题目要求:

设计三个类:

图书类、读者类、借阅信息类。

图书类用来存储图书的信息,读者类用来存储读者的信息,借阅信息类用来存储读者借阅图书的信息。

在系统中实现图书信息的添加和查询、读者信息的添加和查询、图书借阅信息的添加和查询。

图书信息可以包括:

书名、图书编号、作者、出版社、出版时间、版次、ISBN、定价等。

读者信息可以包括:

姓名、年龄、性别、借阅证号(读者编号)、单位等。

图书借阅信息可以包括:

读者编号、图书编号、借出时间、应还时间等。

2:

具体设计了AddInforFrame,AddBookFrame,AddFrame,AddListener,SearchListener,LoginListener,OperateFrame,SearchBookFrame,SearchUserFrame,SearchInforFrame,WindowLoad,MainFrame这样我几个类,

3,

((0)这是管理员登录的界面)

(1)这是管理员进行操作的界面)

(2)这是用户添加的界面)

((3)这是用户查询的界面)

((4)这是管理员将要退出的界面)

4,使用说明:

管理员通过后台登录(用户名admin,密码123456),可以进行读者、图书、借阅信息的添加与查询,以及相关的操作。

四、源程序代码

AddBookFrame.java

importjava.awt.FlowLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.FileOutputStream;

importjava.io.FileReader;

importjava.io.IOException;

importjava.util.regex.Matcher;

importjava.util.regex.Pattern;

importjavax.swing.Box;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JOptionPane;

importjavax.swing.JScrollPane;

importjavax.swing.JTextArea;

importjavax.swing.JTextField;

importjavax.swing.event.DocumentEvent;

importjavax.swing.event.DocumentListener;

 

publicclassAddBookFrameextendsJFrameimplementsActionListener{

staticintbookcount=0;

JLabelalable;

/*姓名、学号、年龄、性别、学院、专业、年级、班级*/

JLabeluserlable;

JLabelusernumber;

JLabelage;

JLabelsex;

JLabelcollage;

JLabelmajor;

JLabelgrade;

JLabelclass_;

JTextFielduserinput,usernuminput,ageinput,sexinput,collageinput,majorinput,gradeinput,class_input;

JTextAreashowtext;/*用于显示用户添加的信息域*/

JButtonok;

JButtonreset;

intflag=0;

intflag1=0;

publicAddBookFrame(){

init();

setBounds(400,100,600,600);

setVisible(true);

setResizable(false);

/*addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

intn=JOptionPane.showConfirmDialog(this,"是否要真的退出添加?

","确认对话框",JOptionPane.YES_NO_CANCEL_OPTION);

if(n==JOptionPane.YES_OPTION){

this.EXIT_ON_CLOSE;

System.exit(0);

}

}

});*/

setDefaultCloseOperation(this.DISPOSE_ON_CLOSE);

}

voidinit(){

alable=newJLabel("请填写相关信息:

");

userlable=newJLabel("编号:

");

usernumber=newJLabel("书名:

");

age=newJLabel("版次:

");

sex=newJLabel("定价:

");

collage=newJLabel("作者:

");

major=newJLabel("出版社:

");

grade=newJLabel("出版时间:

");

class_=newJLabel("ISBN:

");

userinput=newJTextField(15);

usernuminput=newJTextField(15);

ageinput=newJTextField(15);

sexinput=newJTextField(15);

collageinput=newJTextField(15);

majorinput=newJTextField(15);

gradeinput=newJTextField(15);

class_input=newJTextField(15);

//设置盒式布局并添加组件

BoxbaseBox,boxV1,boxV2,boxV3,boxV4;

this.setLayout(newFlowLayout());

boxV1=Box.createVerticalBox();

boxV1.add(alable);

boxV1.add(boxV1.createVerticalStrut(30));

boxV1.add(userlable);

boxV1.add(boxV1.createVerticalStrut(15));

boxV1.add(usernumber);

boxV1.add(boxV1.createVerticalStrut(15));

boxV1.add(age);

boxV1.add(boxV1.createVerticalStrut(15));

boxV1.add(sex);

boxV1.add(boxV1.createVerticalStrut(15));

boxV1.add(collage);

boxV1.add(boxV1.createVerticalStrut(15));

boxV1.add(major);

boxV1.add(boxV1.createVerticalStrut(15));

boxV1.add(grade);

boxV1.add(boxV1.createVerticalStrut(15));

boxV1.add(class_);

boxV2=Box.createVerticalBox();

/*boxV2.createVerticalStrut(10);*/

boxV2.add(boxV2.createVerticalStrut(45));

boxV2.add(userinput);

boxV2.add(boxV2.createVerticalStrut(11));

boxV2.add(usernuminput);

boxV2.add(boxV2.createVerticalStrut(11));

boxV2.add(ageinput);

boxV2.add(boxV2.createVerticalStrut(11));

boxV2.add(sexinput);

boxV2.add(boxV2.createVerticalStrut(11));

boxV2.add(collageinput);

boxV2.add(boxV2.createVerticalStrut(11));

boxV2.add(majorinput);

boxV2.add(boxV2.createVerticalStrut(11));

boxV2.add(gradeinput);

boxV2.add(boxV2.createVerticalStrut(11));

boxV2.add(class_input);

boxV3=Box.createHorizontalBox();

boxV3.add(boxV1);

boxV3.add(boxV2);

boxV4=Box.createHorizontalBox();

ok=newJButton("确定");

reset=newJButton("取消");

ok.addActionListener(this);

reset.addActionListener(this);

boxV4.add(ok);

boxV4.add(reset);

baseBox=Box.createVerticalBox();

baseBox.add(boxV3);

baseBox.add(baseBox.createVerticalStrut(20));

baseBox.add(boxV4);

showtext=newJTextArea(9,50);/*文本域的一些操作*/

showtext.setText("您新添加的图书信息如下:

");

add(newJScrollPane(showtext));

showtext.setLineWrap(true);

/*(showtext.getDocument()).addDocumentListener(this);*/

add(showtext);

this.add(baseBox);

//让输入用户名的文本框获得焦点

userinput.grabFocus();

}

 

@Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

if(e.getSource()==reset){

showtext.setText("您新添加的图书信息如下:

");

}

elseif(userinput.getText().isEmpty()||usernuminput.getText().isEmpty()||ageinput.getText().isEmpty()||sexinput.getText().isEmpty()||collageinput.getText().isEmpty()||majorinput.getText().isEmpty()||gradeinput.getText().isEmpty()||class_input.getText().isEmpty()){

JOptionPane.showMessageDialog(this,"请把信息填写完整!

","警告对话框",JOptionPane.WARNING_MESSAGE);

}

else{

/*此时用户已存在了*/

Stringusernum=userinput.getText();

intb;

bytetom[]=newbyte[1000000];

Filefile=newFile("C:

\\Book.txt");

try{

FileReaderin=newFileReader(file);

BufferedReaderinTwo=newBufferedReader(in);

Strings=null;

inta;

while((s=inTwo.readLine())!

=null){

if((a=s.indexOf(usernum))!

=-1){

flag=1;

JOptionPane.showMessageDialog(this,"图书已经存在!

","警告对话框",JOptionPane.WARNING_MESSAGE);

userinput.setText(null);

usernuminput.setText(null);

ageinput.setText(null);

sexinput.setText(null);

collageinput.setText(null);

majorinput.setText(null);

gradeinput.setText(null);

class_input.setText(null);

break;

}

}

}

catch(IOExceptione1){

JOptionPane.showMessageDialog(this,"文件读取失败!

","警告对话框",JOptionPane.WARNING_MESSAGE);

}

if(flag==0){/*没有重复添加图书的情况*/

try{

intn=Integer.parseInt(userinput.getText());

Stringdate1=gradeinput.getText();

/*Stringdate2=majorinput.getText();*/

StringeL="[0-9]{4}-[0-1][0-9]-[0-3][0-9]";

Patternp=Ppile(eL);

Matchermm=p.matcher(date1);

/*Matchernn=p.matcher(date2)*/;

booleandateFlag=(mm.matches()/*&&nn.matches()*/);

if(!

dateFlag){

flag1=1;

JOptionPane.showMessageDialog(this,"日期格式有误!

","警告对话框",JOptionPane.WARNING_MESSAGE);

gradeinput.setText(null);

/*majorinput.setText(null);*/

gradeinput.grabFocus();

}

if(flag1==0){

bookcount++;/*计数总人数*/

Strings1=userinput.getText();

showtext.append("\n"+"编号:

"+s1+";");

Strings2=usernuminput.getText();

showtext.append("书名:

"+s2+";");

Strings3=ageinput.getText();

showtext.append("版次:

"+s3+";");

Strings4=sexinput.getText();

showtext.append("定价:

"+s4+";"+"\n");

Strings5=collageinput.getText();

showtext.append("作者:

"+s5+";");

Strings6=majorinput.getText();

showtext.append("出版社:

"+s6+";");

Strings7=gradeinput.getText();

showtext.append("出版时间:

"+s7+";");

Strings8=class_input.getText();

showtext.append("ISBN:

"+s8+";");

intn1=JOptionPane.showConfirmDialog(this,"是否要真的添加?

","确认对话框",JOptionPane.YES_NO_CANCEL_OPTION);

if(n1==JOptionPane.YES_OPTION){

/*this.EXIT_ON_CLOSE;*/

StringpersonInfo=/*"学号:

"+*/s1+"\r\n"+/*"姓名:

"+*/s2+"\r\n"+/*"年龄:

"+*/s3+"\r\n"/*+"性别:

"*/+s4+"\r\n"/*+"学院:

"*/+s5+"\r\n"+/*"专业:

"+*/s6+"\r\n"+/*"年级:

"+*/s7+"\r\n"/*+"班级:

"*/+s8+"\r\n";/*用户所有信息*/

bytetom1[]=newbyte[1000000];

tom1=personInfo.getBytes();

try{

Filef=newFile("C:

\\Book.txt");

try{

f.createNewFile();//当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件

}catch(IOExceptione2){

e2.printStackTrace();

}

FileOutputStreamout=newFileOutputStream(f,true);

/*out.write(tom);*/

out.write(tom1,0,tom1.length);

/*while((b=in.read(tom,0,10000))!

=-1){

Strings=newString(tom,0,b);*/

System.out.println(personInfo);

/*}*/

out.close();

/*弹出添加成功的界面*/

JOptionPane.showMessageDialog(this,"添加成功!

","通知对话框",JOptionPane.WARNING_MESSAGE);

userinput.setText(null);

usernuminput.setText(null);

ageinput.setText(null);

sexinput.setText(null);

collageinput.setText(null);

majorinput.setText(null);

gradeinput.setText(null);

class_input.setText(null);

}

catch(IOExceptionex){

JOptionPane.showMessageDialog(this,"文件写入错误!

","警告对话框",JOptionPane.WARNING_MESSAGE);

/*System.out.println("FilewriteError"+ex);*/

}

}

}

}

catch(Exceptionee){

JOptionPane.showMessageDialog(this,"书编号格式错误!

","警告对话框",JOptionPane.WARNING_MESSAGE);

userinput.setText(null);

userinput.grabFocus();

}

}

}

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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