JAVA小白的图书管理系统最后版

经过多天学习与多位大神的帮助下,小白完成了简单的JAVA图书管理系统。
首先建立了三个子类和一个父类抽象父类

book子类

package  com.www.lenovo.entity;

import java.util.Scanner;

public class Book extends BaseBooks{


    //  private String name;
//  private double price;
//  private int pages;
    private String publish;
    private String author;
    private String code;
    public Book() {}

    public Book(String code,String name,double price, int pages, String publish, String author) {
        super();
          setName(name);
         setPrice(price);
         setPages(pages);
         this.code = code;
        this.publish = publish;
        this.author = author;
    }


    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getPublish() {
        return publish;
    }

    public void setPublish(String publish) {
        this.publish = publish;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    @Override
    public void addBooks() {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner (System.in);
        System.out.println("请输入书名:");
        sc.nextLine();
        String name = sc.nextLine();
        System.out.println("请输入出版社:");
        String publish = sc.nextLine();
        System.out.println("请输入作者:");
        String author = sc.nextLine();
        System.out.println("请输入页数:");
        int pages = sc.nextInt();
        System.out.println("请输入价格:");
        double price = sc.nextDouble();

        //创建一个Book对象
        Book book = new Book(code,name,price,pages,publish,author);
        //添加到ArrayList中
        Library.bookList.add(book);

    }

Ebook子类

package  com.www.lenovo.entity;

import java.util.Scanner;

public class EBook extends BaseBooks{
    private int downLoadTime;
    private String author;
//  private String name;
//  private double price;
//  private int pages;
    //public EBook(String string, double d, int i, int j, String string2) {}

    public EBook() {}


    public EBook(String name, double price, int pages, int downLoadTime, String author) {
        // TODO Auto-generated constructor stub
        setName(name);
         setPrice(price);
         setPages(pages);
        this.downLoadTime = downLoadTime;
        this.author = author;
    }

    public int getDownLoadTime() {
        return downLoadTime;
    }

    public void setDownLoadTime(int downLoadTime) {
        this.downLoadTime = downLoadTime;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }
    public void addBooks() {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner (System.in);
        System.out.println("请输入书名:");
        sc.nextLine();
        String name = sc.nextLine();
        System.out.println("请输入价格:");
        double price = sc.nextDouble();
        System.out.println("请输入作者:");
        String author = sc.nextLine();
        System.out.println("请输入页数:");
        int pages = sc.nextInt();
        System.out.println("请输入下载次数:");
        int download = sc.nextInt();

        EBook ebook = new EBook(name,price,pages,download,author);
        Library.eBookList.add(ebook);

    }
}

magazine子类

package com.www.lenovo.entity;

import java.util.Scanner;

public class Magazine  extends BaseBooks{
//  private String name;
//  private double price;
//  private int pages;
    private int issue;


    public Magazine() {}

    public Magazine(String name, double price, int pages, int issue) {
        super();
        setName(name);
        setPrice(price);
         setPages(pages);
        this.issue = issue;
    }



    public int getIssue() {
        return issue;
    }

    public void setIssue(int issue) {
        this.issue = issue;
    }

    @Override
    public void addBooks() {
        Scanner sc = new Scanner(System.in);
        // TODO Auto-generated method stub
        System.out.println("请输入杂志名称");
        sc.nextLine();
        String name = sc.nextLine(); 
        System.out.println("请输入杂志的价格");
        double price = sc.nextDouble();
        System.out.println("请输入杂志的页数");
        int pages = sc.nextInt();
        System.out.println();
        int issue = sc.nextInt();

        Magazine magazine = new Magazine(name,price,pages,issue);
        Library.MagazineList.add(magazine);

    }




}

Library父类

package com.www.lenovo.entity;

import java.util.ArrayList;
import java.util.Scanner;

/**
 * 图书馆管理系统
 * 
 * @author lenovo64
 *
 */
public class Library {

    static int abc = 0;

    public static ArrayList<Book> bookList = new ArrayList<>();
    public static ArrayList<EBook> eBookList = new ArrayList<>();
    public static ArrayList<Magazine> MagazineList = new ArrayList();
    private static int n;



    public static void main(String[] args) {
        init();
        do {
            listMenu();

        } while (n != 0);
        System.out.println("程序退出");
    }

    private static void init() {
        Book b1 = new Book("B1001","三国演义", 52.6, 700, "中华书社", "罗贯中");
        Book b2 = new Book("B1002","水浒传", 62.6, 600, "中华书社", "施耐庵");
        Book b3 = new Book("B1003", "西游记",72.6, 800, "中华书社", "吴承恩");
        Book b4 = new Book("B1004", "红楼梦",58.6, 700, "中华书社", "曹雪芹");
        bookList.add(b1);
        bookList.add(b2);
        bookList.add(b3);
        bookList.add(b4);

        EBook e1 = new EBook("斗破苍穹", 9.9, 600, 0, "天蚕土豆");
        EBook e2 = new EBook("斗罗大陆", 8.9, 700, 0, "唐家三少");
        EBook e3 = new EBook("大主宰", 7.9, 800, 0, "天蚕土豆");
        geteBookList().add(e1);
        geteBookList().add(e2);
        geteBookList().add(e3);

        Magazine m1 = new Magazine("街头文化", 32, 56, 5);
        Magazine m2 = new Magazine("男人装", 52, 35, 6);
        Magazine m3 = new Magazine("天下行", 65, 35, 7);

        MagazineList.add(m1);
        MagazineList.add(m2);
        MagazineList.add(m3);
    }

    /**
     * 列出所有图书
     */
    private static void listAllBook() {
        // 列出所有纸质书
        for (Book book : bookList) {
            System.out.println("编号"+book.getCode()+" ,书名:" + book.getName() + ",出版社:" + book.getPublish() + ",作者:" + book.getAuthor() + ",价格:"
                    + book.getPrice() + ",页数:" + book.getPages());
        }
        // 列出所有电子书
        for (EBook eBook : geteBookList()) {
            System.out.println("书名:" + eBook.getName() + ",作者:" + eBook.getAuthor() + ",价格:" + eBook.getPrice() + ",页数:"
                    + eBook.getPages() + ",下载次数:" + eBook.getDownLoadTime());
            // 列出所有杂志
        }
        for (Magazine magazine : MagazineList) {
            System.out.println("杂志名称: " + magazine.getName() + " ,杂志价格" + magazine.getPrice() + "杂志页数"
                    + magazine.getPages() + " 杂志期数 " + magazine.getIssue());
        }
    }

    /**
     * 添加图书
     *
     */
    private static void addBook() {
        System.out.println("请选择您要添加的图书类型:1、Book;2、EBook;3、Magazine");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        switch (n) {
        case 1:
            Book book = new Book();
            book.addBooks();

            break;
        case 2:
            EBook ebook = new EBook();
            ebook.addBooks();
            break;

        case 3:
            Magazine magazine = new Magazine();
            magazine.addBooks();
            break;

        default:
            break;
        }

    }

    // 代码复用
    // 好处:1、简化代码;2、一处修改处处修改
    private static void listMenu() {
        System.out.println("请输入菜单序号:");
        System.out.println("全部图书:1");
        System.out.println("添加图书:2");
        System.out.println("删除图书:3");
        System.out.println("检索图书:4");
        System.out.println("借阅图书:5");
        System.out.println("退出程序:0");
        Scanner scanner = new Scanner(System.in);
        n = scanner.nextInt();
        System.out.println("您选择的功能序号是:" + n);

        switch (n) {
        case 1:
            listAllBook();
            break;
        case 2:
            addBook();
            break;
        case 3:
            removeBook();
            break;
        case 4:
            searchBook();
            break;
        case 5:
            borrowBook();
            break;
        default:
            break;
        }

    }

    private static void borrowBook() {
        // TODO Auto-generated method stub
        String bName = "";
        System.out.println("请输入您要借阅的图书名(关键字即可)");
        Scanner sc = new Scanner(System.in);
        String name  = sc.nextLine();
        System.out.println("我们为您找到了以下图书");
        for (Book book :bookList) {
            if(book.getName().indexOf(name)>=0) {
                System.out.println("编号"+book.getCode()+"书名:" + book.getName() + ",出版社:" + book.getPublish() + ",作者:" + book.getAuthor()
                + ",价格:" + book.getPrice() + ",页数:" + book.getPages());
            }
        }
        System.out.println("请输入您要借阅的图书编号");
        String code = sc.nextLine();
        for(int i= 0;i<bookList.size();i++) {
            if (code.equals(bookList.get(i).getCode())) {
                bName = bookList.get(i).getName();
                bookList.remove(i);
                System.out.println("恭喜借阅成功"+bName);
            }


    }
        }


    private static void removeBook() {

        abc = 0;
        System.out.println("请选择您要删除的图书类型:1、Book;2、EBook;3、Magazine");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        switch (n) {
        case 1:
            System.out.println("请您选择要删除的图书名称");
            sc.nextLine();
            String aaa = sc.nextLine();
            for (int i = 0; i < bookList.size(); i++) {
                if (bookList.get(i).getName().equals(aaa)) {
                    bookList.remove(i);
                    System.out.println("删除成功");
                    abc = 1;
                }
            }
            break;
        case 2:
            System.out.println("请您选择要删除的电子书名称");
            sc.nextLine();
            String bbb = sc.nextLine();
            for (int i = 0; i < geteBookList().size(); i++) {
                if (bookList.get(i).getName().equals(bbb)) {
                    geteBookList().remove(i);
                    System.out.println("删除成功");
                    abc = 1;
                }
            }
            break;
        case 3:
            System.out.println("请您选择要删除的杂志名称");
            sc.nextLine();
            String ccc = sc.nextLine();
            for (int i = 0; i < MagazineList().size(); i++) {
                if (MagazineList.get(i).getName().equals(ccc)) {
                    MagazineList().remove(i);

                    System.out.println("删除成功");
                    abc = 1;
                }
            }
            if (abc == 1) {
                System.out.println("删除成功");
            } else {
                System.out.println("没找到啊");
            }

        }

    }

    /**
     * 检索图书
     */
    private static void searchBook() {
        System.out.println("请输入你要查询的关键字");
        Scanner sc = new Scanner(System.in);
        String keyWords = sc.nextLine();
        System.out.println("您输入的关键字是:" + keyWords + ",我们为您找到了下列图书:");

        for (Book book : bookList) {
            if (book.getName().indexOf(keyWords) >= 0) {
                System.out.println("书名:" + book.getName() + ",出版社:" + book.getPublish() + ",作者:" + book.getAuthor()
                        + ",价格:" + book.getPrice() + ",页数:" + book.getPages());
            }
        }

        for (EBook eBook : geteBookList()) {
            if (eBook.getName().indexOf(keyWords) >= 0) {
                System.out.println("书名:" + eBook.getName() + ",作者:" + eBook.getAuthor() + ",价格:" + eBook.getPrice()
                        + ",页数:" + eBook.getPages() + ",下载次数:" + eBook.getDownLoadTime());
            }
        }
        for (Magazine magazin : MagazineList()) {
            if (magazin.getName().indexOf(keyWords) >= 0) {
                System.out
                        .println("书名:" + magazin.getName() + ",价格:" + magazin.getPrice() + ",页数:" + magazin.getPages());
            }
        }

    }

    private static ArrayList<Magazine> MagazineList() {

        return MagazineList;
    }

    public static ArrayList<EBook> geteBookList() {
        return eBookList;
    }

    public static void seteBookList(ArrayList<EBook> eBookList) {
        Library.eBookList = eBookList;
    }

}

Basebook抽象父类

package com.www.lenovo.entity;
/**
 * 抽象父类
 * @author lenovo
 *
 */
public abstract class BaseBooks {
    private String name;
    private double price;
    private int pages;
    public abstract void addBooks();
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public int getPages() {
        return pages;
    }
    public void setPages(int pages) {
        this.pages = pages;
    }

}

子类继承父类,父类中定义共有的方法。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值