孫雪媛部落格園位址:http://www.cnblogs.com/sunxueyuan/p/4489740.html
一、題目簡介:圖書管理系統
二、結對分工及過程:孫雪媛負責Reader類、Student類、Teacher類、Test類、User類、Book類的查找、編寫和修改。
胡少慧負責Borrow類、book-main類、bookManagermain類、Borrow-main類的查找、編寫和修改。
三、代碼githup位址:
https://github.com/hushaohui0928/test/blob/master/實驗三
四、程式源代碼(部分):
Book類:
package bean;
public class book {
private int id;
private String bookName;
private String author;//作者
private String type;
private int number;
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
public String getBookName() {
return bookName;
public void setBookName(String bookName) {
this.bookName = bookName;
public int getId() {
return id;
public void setId(int id) {
this.id = id;
public int getNumber() {
return number;
public void setNumber(int number) {
this.number = number;
public String getType() {
return type;
public void setType(String type) {
this.type = type;
Borrow類:
public class borrow {
private String userName;
private String time;
private String bookStatic;//借閱狀态(借閱中,已歸還)
public String getBookStatic() {
return bookStatic;
public void setBookStatic(String bookStatic) {
this.bookStatic = bookStatic;
public String getTime() {
return time;
public void setTime(String time) {
this.time = time;
public String getUserName() {
return userName;
public void setUserName(String userName) {
this.userName = userName;
book-main類:
package main;
import java.util.ArrayList;
import java.util.Scanner;
import bean.book;
public class bookmain {
public void setbook(ArrayList bolist){
System.out.println("請依次填寫所要添加書籍的 編号 書名 作者 類型 數量");
Scanner sc=new Scanner(System.in);
book bo=new book();
bo.setId(sc.nextInt());
bo.setBookName(sc.next());
bo.setAuthor(sc.next());
bo.setType(sc.next());
bo.setNumber(sc.nextInt());
bolist.add(bo);
System.out.println("添加成功");
public void findbook(ArrayList bolist){
System.out.println("請輸入要查詢的書名");
System.out.println("書籍編号 名稱 作者 類型 數量");
String bookName=sc.next();
for(int i=0;i<bolist.size();i++){
book bo=(book)bolist.get(i);
if(bo.getBookName().equals(sc.next())){
System.out.println(bo.getId()+" "+bo.getBookName()+" "+
bo.getAuthor()+" "+bo.getType()+" "+
bo.getNumber());
public void show(ArrayList bolist){
bookManagermain類:
public class bookManagermain {
public static void main(String[] args){
System.out.println("》》》》》》歡迎來到圖書管理系統《《《《《《");
ArrayList bolist=new ArrayList();
ArrayList owlist=new ArrayList();
while(true){
System.out.println("請選擇您将要進行的操作");
System.out.println("1,添加書籍 2,搜尋書籍 3,檢視圖書");
System.out.println("4,借閱書籍 5,歸還書籍 6,檢視借閱資訊 7,退出");
int a=sc.nextInt();
if(a==1){
bookmain bm=new bookmain();
bm.setbook(bolist);
}else if(a==2){
bm.findbook(bolist);
}else if(a==3){
bm.show(bolist);
}else if(a==4){
borrowmain bm=new borrowmain();
bm.add(owlist, bolist);
}else if(a==5){
bm.Return(owlist, bolist);
}else if(a==6){
bm.show(owlist);
}else {
break;
Borrow-main類:
import bean.borrow;
public class borrowmain {
public void add(ArrayList owlist,ArrayList bolist){
System.out.println("請輸入 編号 書名 姓名 時間");
borrow bo=new borrow();
bo.setUserName(sc.next());
bo.setTime(sc.next());
owlist.add(bo);
bo.setBookStatic("借閱中");
book boo=(book)bolist.get(i);
if(boo.getBookName().equals(sc.next())){
boo.setNumber(boo.getNumber()-1);
System.out.println("借閱成功");
public void show(ArrayList owlist){
System.out.println("編号 書名 姓名 時間 狀态");
for(int i=0;i<owlist.size();i++){
borrow bo=(borrow)owlist.get(i);
System.out.println(bo.getId()+" "+bo.getBookName()+" "+bo.getUserName()+" "+bo.getTime()+" "+bo.getBookStatic());
public void Return(ArrayList owlist,ArrayList bolist){
System.out.println("請輸入 書名 ");
Scanner sc= new Scanner(System.in);
for (int i=0;i<owlist.size();i++){
for (int i=0;i<bolist.size();i++){
bo.setNumber(bo.getNumber()+1);
System.out.println("歸還成功");
五、運作和測試結果截圖
六、心得體會
操作過程讓我感到邊學習邊實踐的樂趣,但是很多的地方考慮的還是不夠周全。比如對表和字段的命名以及各表之間的聯系命名存在欠缺,有時不能很好的表達自己的思想。s我還有許多東西需要學習,當中我意識到自己的理論及實踐知識的不足,對資料庫設計這方面還是缺乏自主創新的思維能力,有些簡單就可實作的東西自己卻需好多的步驟才能完成,我在以後的學習中要增強自己的自學能力,有的同學在課程設計設中用到了許多沒講到的知識,例如對觸發器,事務等的運用,他們的自學精神值得我去學習。這次課程設計使我對所學的資料庫知識有了更進一步的了解,更加系統化,理論化。今後,無論對待什麼問題,我一定會充滿自信的面對,學習更多的知識來充實自己,争取做得更好。