91精产品自偷自偷综合官网版下载-91精产品自偷自偷综合下-91精品-91精品91久久久-91精品成人-91精品成人www

網站建設資訊

NEWS

網站建設資訊

java如何實現圖書館管理系統-創新互聯

這篇文章將為大家詳細講解有關java如何實現圖書館管理系統,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

網站制作、成都網站建設的關注點不是能為您做些什么網站,而是怎么做網站,有沒有做好網站,給創新互聯一個展示的機會來證明自己,這并不會花費您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。

具體內容如下

思路:所有包都在book_manage包里

利用面向對象的多態特性去除了很多if-else的判斷,不同的子類在父類所對應的方法不同。

1.首先建立一個book包

包里面有2個類,一個是Book,這個類里面包含一本書的全部信息
另外一個類是BookList,這個類是用來管理每一個書,通過這個類來尋找每一本書。
private Book[] books = new Book[100];
Book數組里面存放所有的書。

2.再建立一個包Operation 這個類里面有一個OI接口,通過對接口里面的Work方法重寫,來實現管理員身份和普通用戶身份的不同操作。

3.最后建立一個User包,里面有三個類,User,Admin,NormalUser

Admin和NormalUser都繼承自User.
User里秒你有一個數組
protected IO[] operation;
這個數組里面包含了用戶或者管理員所具備的操作。
通過對數組的索引來確定具體需要調用的操作方法。

下面來看看代碼吧:

book包

Book類

package book_manager.book;

public class Book {
 private String name;
 private String id;
 private String author;
 private int price;
 private String type;
 private boolean isBorrow;

 public Book(String name, String id, String author, int price,
 String type, boolean isBorrow) {
 this.name = name;
 this.id = id;
 this.author = author;
 this.price = price;
 this.type = type;
 this.isBorrow = isBorrow;
 }

 @Override //Object中內置的類,用來格式化打印book的信息
 public String toString() {
 return "Book{" +
 "name='" + name + '\'' +
 ", id='" + id + '\'' +
 ", author='" + author + '\'' +
 ", price=" + price +
 ", type='" + type + '\'' +
 ", isBorrow=" + isBorrow +
 '}';
 }

 public String getName(){
 return name;
 }

 public boolean isBorrow(){
 return isBorrow;
 }

 public void setBorrow(boolean bool){
 this.isBorrow=bool;
 }

 public String getId(){
 return id;
 }
}

BookList類

package book_manager.book;

import java.util.Arrays;

public class BookList {
 private Book[] books = new Book[100];
 private int size;
 public BookList(){
 books[0] = new Book("金瓶梅",
  "001", "蘭陵笑笑生", 100,
  "古典名著", false);
 books[1] = new Book("水滸傳",
  "002", "施耐庵", 100,
  "古典名著", false);
 books[2] = new Book("西游記",
  "003", "吳承恩", 100,
  "古典名著", false);
 size = 3;
 }

 public int getSize(){
  return size;
 }

 public void setBooks(int index,Book book){
  books[index]=book;
 }

 public void setSize(int size){
  this.size=size;
 }

 public Book getBook(int index){
  return books[index];
 }
}

Operation包:

ADD類

package book_manager.Operation;

import book_manager.book.*;

import java.util.Scanner;

public class ADD implements IO{

 @Override
 public void work(BookList bookList) {
 Scanner scanner = new Scanner(System.in);
 System.out.println("請輸入書名");
 String name =scanner.next();
 System.out.println("請輸入序號");
 String id = scanner.next();
 System.out.println("請輸入作者");
 String author =scanner.next();
 System.out.println("請輸入價格");
 int price = scanner.nextInt();
 System.out.println("請輸入類型");
 String type = scanner.next();
 Book book = new Book(name, id,
  author, price, type, false);
 bookList.setBooks(bookList.getSize(),book);
 bookList.setSize(bookList.getSize()+1);
 System.out.println("添加成功");
 }
}

Borrow類

package book_manager.Operation;

import book_manager.book.Book;
import book_manager.book.BookList;

import java.util.Scanner;

public class Borrow implements IO{
 @Override
 public void work(BookList bookList) {
 int i=0;
 int flag=0;
 Scanner scan = new Scanner(System.in);

 System.out.println("請輸入需要借閱的書名");
 String name = scan.next();
 for(;i

Delete類

package book_manager.Operation;

import book_manager.book.BookList;

import java.util.Scanner;

public class Delete implements IO{

 public void work(BookList bookList){
 Scanner scanner = new Scanner(System.in);
 System.out.println("請輸入想要刪除的編號");
 String id = scanner.next();
 for(int i=0;i

Exit類

package book_manager.Operation;

import book_manager.book.BookList;

public class Exit implements IO{
 @Override
 public void work(BookList bookList) {
 System.out.println("退出成功");
 System.exit(0);
 }
}

Find類

package book_manager.Operation;

import book_manager.book.BookList;

import java.util.Scanner;

public class Find implements IO{
 @Override
 public void work(BookList bookList) {
 int i=0;
 int count=0;
 Scanner scan = new Scanner(System.in);

 System.out.println("請輸入需要查找的書名");
 String name = scan.next();
 for(;i

IO接口

package book_manager.Operation;

import book_manager.book.BookList;

public interface IO {
 abstract public void work(BookList bookList);
}

PrintAll類

package book_manager.Operation;

import book_manager.book.BookList;

public class PrintAll implements IO{
 @Override
 public void work(BookList bookList) {
 for(int i=0;i

Return類

package book_manager.Operation;

import book_manager.book.BookList;

import java.util.Scanner;

public class Return implements IO{
 @Override
 public void work(BookList bookList) {
 int i=0;
 int flag=0;
 Scanner scan = new Scanner(System.in);

 System.out.println("請輸入需要歸還的ID");
 String id = scan.next();
 for(;i

user包:

User類

package book_manager.user;

import book_manager.Operation.*;
import book_manager.Operation.IO;
import book_manager.book.BookList;

abstract public class User {
 String name;
 protected IO[] operation;

 public User(String name){
 this.name=name;
 }

 abstract public int menu();//該方法被重寫
 public void doOperation(int choice, BookList bookList) {
 operation[choice].work(bookList);
 }
}

Admin類

package book_manager.user;

import book_manager.Operation.*;

import java.util.Scanner;

public class Admin extends User{
 public Admin(String name){
 super(name);
 operation=new IO[]{
  new Exit(),
  new Find(),
  new ADD(),
  new Delete(),
  new PrintAll(),
 };

 }


 public int menu() {
 System.out.println("============");
 System.out.println("hello " + name);
 System.out.println("1. 查找書籍");
 System.out.println("2. 增加書籍");
 System.out.println("3. 刪除書籍");
 System.out.println("4. 打印所有信息");
 System.out.println("0. 退出");
 System.out.println("============");
 System.out.println("請輸入您的選擇: ");
 Scanner scanner = new Scanner(System.in);
 int choice = scanner.nextInt();
 return choice;
 }
 
}

NormalUser

package book_manager.user;

import book_manager.Operation.*;

import java.util.Scanner;

public class NormalUser extends User{
 public NormalUser(String name){
 super(name);
 operation=new IO[]{
  new Exit(),
  new Find(),
  new Borrow(),
  new Return(),
  new PrintAll()
 };
 }
 public int menu() {
 System.out.println("============");
 System.out.println("hello " + name);
 System.out.println("1. 查找圖書");
 System.out.println("2. 借閱圖書");
 System.out.println("3. 歸還圖書");
 System.out.println("4. 查看全部書籍");
 System.out.println("0. 退出");
 System.out.println("============");
 System.out.println("請輸入您的選擇: ");
 Scanner scanner = new Scanner(System.in);
 int choice = scanner.nextInt();
 // close 本質上是在關閉 System.in
 // 由于后面還需要用到 System.in, 此處不能盲目關閉.
 // scanner.close();
 return choice;
 }

}

最后還有一個Test類,里面放了main函數

package book_manager;

import book_manager.book.BookList;
import book_manager.user.Admin;
import book_manager.user.NormalUser;
import book_manager.user.User;

import java.util.Scanner;

public class Test {
 public static void main(String[] args) {
 BookList list = new BookList();
 User user = login();
 //通過不同的choice和身份調用不同的Operation方法
  while(true){
  int choice = user.menu();
  user.doOperation(choice, list);
 }
 }

 public static User login(){
 Scanner scanner = new Scanner(System.in);
 System.out.println("請輸入你的姓名");
 String name = scanner.next();
 System.out.println("請輸入你的身份");
 System.out.println("1.普通用戶 2.管理員");
 int role= scanner.nextInt();
 if(role==1){
  return new NormalUser(name);
 }
 else{
  return new Admin(name);
 }

 }
}

關于“java如何實現圖書館管理系統”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

另外有需要云服務器可以了解下創新互聯建站www.cdcxhl.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


網頁名稱:java如何實現圖書館管理系統-創新互聯
本文URL:http://www.yuzhuanjia.cn/article/djsojo.html
主站蜘蛛池模板: 91网站在线播放 | 91精品隔壁老王在线观看 | 99精点视频| 91久久久精品人妻无码专区不卡 | 91久久国产成人免费观看资 | 午夜精品久久久久久不卡av | 91精品国产免费久久久久久婷婷 | 99久久99视频| 97精品人妻人人做人人爽 | 91无码人妻精品一区二区三区 | 97国产精品视频观看一 | 91无人区卡一卡二卡三乱码下载 | 天美传媒在线观看高清免费爱情 | 91亚洲精品无码 | 99久久久无码国产精品性色戒 | 午夜一区二区久久久 | 国产白浆一区二区三区 | 午夜成年女人毛片免费观看 | 97人妻免费公开视频在线看 | 99久久一区二区 | 国产v亚洲v天堂a无码久久蜜桃 | 91久国产 | 91人妻视频| 午夜在线观看短视频 | 午夜精品免费 | 一区二区三区爱妻 | 97无码专区一区而去 | 国产69久久精品成人看小说 | 99国产成人综合久久精品77 | 午夜亚洲一区 | 国产变态影院在线 | 91青草国产超碰人人 | 丰满少妇弄高潮了www | 午夜小视频试看五分钟 | 午夜爽喷水无码成人18禁三级 | 国产av无码专区亚洲av毛网站 | A片试看120分钟做受视频 | 91精品国产综合久久婷婷香蕉狠狠躁夜夜躁人人爽天天天天9 | 粉嫩AV久久一区二区三区王玥 | 午夜国产精品蝌蚪在线观看 | 国产91免 |