Java快速實現(xiàn)圖書管理基本功能_第1頁
Java快速實現(xiàn)圖書管理基本功能_第2頁
Java快速實現(xiàn)圖書管理基本功能_第3頁
Java快速實現(xiàn)圖書管理基本功能_第4頁
Java快速實現(xiàn)圖書管理基本功能_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第Java快速實現(xiàn)圖書管理基本功能目錄前言主函數(shù)書的創(chuàng)建對用戶的操作對書的操作

前言

今天的內(nèi)容主要是利用前面所學(xué)的知識點:類,抽象類,封裝,繼承,多態(tài),接口等進行的一個簡單的代碼練習(xí)。

主要要求:

1、用戶登錄

2、管理端

查找圖書新增圖書刪減圖書顯示圖書列表退出系統(tǒng)

3、用戶端

查找圖書借閱圖書歸還圖書退出系統(tǒng)

我們可以將以上內(nèi)容分為對書的創(chuàng)建初始化,對用戶的操作,對書的操作。

主函數(shù)

Main:(對所有流程進行整合)

importbook.BookList;

importUser.NormalUser;

importUser.AdminUser;

importUser.user;

importjava.util.Scanner;

publicclassMain{

publicstaticuserlogin(){

System.out.print("請輸入你的姓名:");

Scannerscanner=newScanner(System.in);

Stringname=scanner.nextLine();

System.out.println("請選擇你的身份:1-管理員0-普通用戶");

intchoice=scanner.nextInt();

if(choice==1){

returnnewAdminUser(name);

}else{

returnnewNormalUser(name);

publicstaticvoidmain(String[]args){

BookListbookList=newBookList();

userus=login();//向上轉(zhuǎn)型

while(true){

intchoice=us.menu();//多態(tài)綁定

us.doWork(choice,bookList);

}

書的創(chuàng)建

Book:

packagebook;

//創(chuàng)建圖書

publicclassBook{

privateStringname;//書名

privateStringauthor;//書的作者

privateStringtype;//書的類型

privateintprice;//書的價格

booleanisBorrowed;//書是否被借出

//在這里我們就不對isBorrowed進行構(gòu)造,在最后打印的時候?qū)λM行判斷就好

publicBook(Stringname,Stringauthor,Stringtype,intprice){

=name;

this.author=author;

this.type=type;

this.price=price;

publicStringgetName(){

returnname;

publicvoidsetName(Stringname){

=name;

publicStringgetAuthor(){

returnauthor;

publicvoidsetAuthor(Stringauthor){

this.author=author;

publicStringgetType(){

returntype;

publicvoidsetType(Stringtype){

this.type=type;

publicintgetPrice(){

returnprice;

publicvoidsetPrice(intprice){

this.price=price;

publicbooleanisBorrowed(){

returnisBorrowed;

publicvoidsetBorrowed(booleanborrowed){

isBorrowed=borrowed;

@Override

publicStringtoString(){

return"Book{"+

"name='"+name+'\''+

",author='"+author+'''+

",type='"+type+'\''+

",price="+price+

((isBorrowed==true)"已被借出":"未被借出")+

'}';

}

BookList:

packagebook;

//創(chuàng)建書架

publicclassBookList{

privateBook[]books=newBook[10];//創(chuàng)建一個數(shù)組當(dāng)書架放書,假設(shè)一共可以放10本

publicintusedSize;//書架上有效放書數(shù)

publicBookList(){//假設(shè)一開始書架上就放了三本書

books[0]=newBook("紅樓夢","曹雪芹","文學(xué)",55);

books[1]=newBook("西游記","吳承恩","文學(xué)",65);

books[2]=newBook("水滸傳","施耐庵","文學(xué)",23);

usedSize=3;

publicintgetUsedSize(){

returnusedSize;

publicvoidsetUsedSize(intusedSize){

this.usedSize=usedSize;

//獲取一本書的位置

publicBookgetpos(intpos){

returnthis.books[pos];

//在下標(biāo)為pos的位置上放一本書(添加)

publicvoidsetBook(intpos,Bookbook){

this.books[pos]=book;

}

對用戶的操作

創(chuàng)建用戶user類:

packageUser;

importbook.BookList;

importoperation.IOperation;

publicabstractclassuser{

protectedStringname;

protectedIOperation[]iOperations;//創(chuàng)建操作類數(shù)組,通過返回的數(shù)字用于對書的操作

publicuser(Stringname){

=name;

publicabstractintmenu();//用于動態(tài)綁定

publicvoiddoWork(intchoice,BookListbookList){

iOperations[choice].work(bookList);

}

創(chuàng)建管理員用戶類AdminUser,是user的子類.

packageUser;

importoperation.*;

importjava.util.Scanner;

publicclassAdminUserextendsuser{

publicAdminUser(Stringname){

super(name);

this.iOperations=newIOperation[]{//初始化數(shù)組,將菜單上的數(shù)字與對應(yīng)的操作放好

newExitOperation(),

newFindOperation(),

newAddOperation(),

newDelOperation(),

newDisplayOperation()

publicintmenu(){

System.out.println("========管理員的菜單========");

System.out.println("歡迎"++"來到圖書館");

System.out.println("1.查找圖書");

System.out.println("2.新增圖書");

System.out.println("3.刪減圖書");

System.out.println("4.顯示圖書");

System.out.println("0.查退出系統(tǒng)");

System.out.println("===========================");

System.out.print("請選擇你要的操作:");

Scannerscanner=newScanner(System.in);

intchoice=scanner.nextInt();

returnchoice;//返回選擇的數(shù)字

}

創(chuàng)建普通用戶類NormalUser,是user的子類.

packageUser;

importoperation.*;

importjava.util.Scanner;

publicclassNormalUserextendsuser{

publicNormalUser(Stringname){

super(name);

this.iOperations=newIOperation[]{

newExitOperation(),

newFindOperation(),

newBorrowOperation(),

newReturnOperation()

publicintmenu(){

System.out.println("========普通用戶的菜單========");

System.out.println("歡迎"++"來到圖書館");

System.out.println("1.查找圖書");

System.out.println("2.借閱圖書");

System.out.println("3.歸還圖書");

System.out.println("0.退出系統(tǒng)");

System.out.println("============================");

System.out.print("請選擇你要的操作:");

Scannerscanner=newScanner(System.in);

intchoice=scanner.nextInt();

returnchoice;

}

對書的操作

創(chuàng)建接口IOperation:

packageoperation;

importbook.BookList;

importjava.util.Scanner;

publicinterfaceIOperation{

Scannerscanner=newScanner(System.in);

voidwork(BookListbookList);

}

創(chuàng)建增加圖書類AddOperation,繼承接口IOperation

packageoperation;

importbook.Book;

importbook.BookList;

importjava.util.Scanner;

publicclassAddOperationimplementsIOperation{

publicvoidwork(BookListbookList){

System.out.println("新增圖書!");

System.out.println("請輸入圖書的名字1請輸入圖書的作者2請輸入圖書的類型3請輸入圖書的價格4新增圖書成功");

}

創(chuàng)建刪減圖書類DelOperation,繼承接口IOperation

packageoperation;

importbook.Book;

importbook.BookList;

publicclassDelOperationimplementsIOperation{

publicvoidwork(BookListbookList){

System.out.println("刪減圖書");

System.out.println("請輸入要刪減圖書的名字:");

Stringname=scanner.nextLine();

intsize=bookList.getUsedSize();

intindex=0;

inti=0;

for(i=0;isize;i++){

Bookbook=bookList.getpos(i);

if(name.equals(book.getName())){

index=i;

break;

if(i=size){

System.out.println("沒有你要刪除的圖書");

//刪除就是要將j+1下標(biāo)的信息放進j下標(biāo)里面信息去,這樣子j里面的信息就被刪除了

for(intj=index;jsize-1;j++){

Bookbook=bookList.getpos(j+1);//獲取j+1下標(biāo)放的書的信息給j下標(biāo)

bookList.setBook(j,book);

bookList.setBook(size,null);//刪除之后,把最后一個下標(biāo)信息置為null

bookList.setUsedSize(size-1);//下標(biāo)減1

System.out.println("刪除成功");

}

創(chuàng)建查找圖書類FindOperation,繼承接口IOperation

packageoperation;

importbook.BookList;

importbook.Book;

publicclassFindOperationimplementsIOperation{

publicvoidwork(BookListbookList){

System.out.println("查找圖書!");

System.out.println("請輸入要查找書的名字");

Stringname=scanner.nextLine();

intsize=bookList.getUsedSize();

for(inti=0;isize;i++){

Bookbook=bookList.getpos(i);//找到這本書的信息

if(name.equals(book.getName())){//比較名字是否相同

System.out.println("找到了這本書,信息如下:");

System.out.println(book);

return;

System.out.println("沒有找到這本書!");

}

創(chuàng)建顯示圖書列表類DisplayOperation,繼承接口IOperation

packageoperation;

importbook.Book;

importbook.BookList;

publicclassDisplayOperationimplementsIOperation{

publicvoidwork(BookListbookList){

System.out.println("顯示圖書");

for(inti=0;ibookList.usedSize;i++){

Bookbook=bookList.getpos(i);

System.out.println(book);

}

創(chuàng)建借閱圖書列表類BorrowOperation,繼承接口IOperation

packageoperation;

importbook.Book;

importbook.BookList;

publicclassBorrowOperationimplementsIOperation{

publicvoidwork(BookListbookList){

System.out.println("借閱圖書");

System.out.println("請輸入你要借閱的圖書的名字");

Stringname=scanner.nextLine();

intsize=bookList.getUsedSize();

for(inti=0;isize;i++){

Bookbook=bookList.getpos(i);

if(name.equals(book.getName())){

book.setBorrowed(true);

System.out.println("借閱成功");

System.out.println(book);

return;

Syst

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論