实现一个简单的图书管理系统

import java.util.Scanner;

/**
 * @ClassName Person
 * @Description 人
 * @Author lzq
 * @Date 2018/11/5 15:50
 * @Version 1.0
 **/
abstract class Person {
    /**
     * 查询书籍
     * @param book_name
     */
    public void inquireBook(String book_name) {
        for(int i = 0;i < BookSystem.books.length;i++) {
            if(BookSystem.books[i].getBook_name().equals(book_name)) {
                System.out.println(BookSystem.books[i].toString());
                return;
            }
        }
        System.out.println("抱歉,没有这本书!请重新输入");
        Scanner scanner = new Scanner(System.in);
        String string = scanner.next();
        inquireBook(string);
    }

    /**
     * 退出
     */
    public void logOut() {
        BookSystem.start();
    }
}

import java.util.Arrays;
import java.util.Scanner;

/**
 * 用户
 */
public class User extends Person1{
    private String user_name;
    private int user_id;

    public User(String user_name,int user_id) {
        this.user_id = user_id;
        this.user_name = user_name;
        start();
    }

    /**
     * 借阅书籍
     * @return
     */
    private boolean BorrowBook(String book_name) {
        for(int i = 0;i < BookSystem.books.length;i++) {
            if(BookSystem.books[i].getBook_name().equals(book_name)) {
                BookSystem.deleteBook(book_name,i);
                System.out.println("借阅成功!");
                return true;
            }
        }
        System.out.println("抱歉,没有这本书!");
        return false;
    }

    /**
     * 归还书籍
     * @return
     */
    private void returnBook(String book_name,String book_author_name,double book_price) {
        BookSystem.addBook(book_name,book_author_name,book_price);
    }

    private void start() {
        while(true) {
            System.out.println("-----------------------" +
                "用户"+user_name+"你好!"+"你需要:---------------------");
            System.out.print("1:查询书籍  2:借阅书籍  3:归还书籍" +
                " 4:退出 \n");
            Scanner scanner = new Scanner(System.in) ;
            int input = scanner.nextInt();
            Scanner scanner1 = new Scanner(System.in) ;
            switch (input) {
                case 1:
                    System.out.println("请输入书籍名称");
                    String s1 = scanner1.next();
                    inquireBook(s1);
                    break;
                case 2:
                    System.out.println("请输入书籍名称");
                    String s2 = scanner1.next();
                    BorrowBook(s2);
                    break;
                case 3:
                    System.out.println("请输入书籍名称");
                    String s3 = scanner1.next();
                    System.out.println("请输入书籍作者名称");
                    String s4 = scanner1.next();
                    System.out.println("请输入书籍价格");
                    double x = scanner1.nextDouble();
                    returnBook(s3,s4,x);
                    break;
                case 4:
                    logOut();
            }
        }
    }
}

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

/**
 * 管理员
 */
public class Admin extends Person1{
    private String admin_name;
    private int admin_id;

    public Admin(String admin_name,int admin_id) {
        this.admin_id = admin_id;
        this.admin_name = admin_name;
        start();
    }


    /**
     * 整理书籍
     */
    private void tidyBook() {
        List<Book> list = Arrays.asList(BookSystem.books);
        Collections.sort(list);
       // System.out.println(list);
        for(int i = 0;i < BookSystem.books.length;i++) {
                System.out.println(BookSystem.books[i].toString());
        }
    }

    /**
     * 增加书籍
     */
    private void addBook(String book_name,String book_author_name,double book_price) {
        BookSystem.addBook(book_name,book_author_name,book_price);
    }

    /**
     * 删除书籍
     * @return
     */
    private boolean deleteBook(String book_name) {
        for(int i = 0;i < BookSystem.books.length;i++) {
            if(BookSystem.books[i].getBook_name().equals(book_name)) {
                BookSystem.deleteBook(book_name,i);
                System.out.println("删除成功!");
                return true;
            }
        }
        System.out.println("抱歉,没有这本书!");
        return false;
    }

    /**
     * 打印书籍列表
     * @return
     */
    private void printBookTable() {
        for(int i = 0;i < BookSystem.books.length;i++) {
                System.out.print(BookSystem.books[i].toString()+" |--| ");
                if(((i+1) % 2) == 0) {
                    System.out.println();
                }
        }
        System.out.println();
    }

    private void start() {
        while(true) {
            System.out.println("-----------------------" +
                    "管理员"+admin_name+"你好!"+"你需要:---------------------");
            System.out.print("1:整理书籍  2:查阅书籍  3:增加书籍" +
                    "4 :删除书籍 5:打印书籍列表 6:退出 \n");
            Scanner scanner = new Scanner(System.in) ;
            int input = scanner.nextInt();
            Scanner scanner1 = new Scanner(System.in) ;
            switch (input) {
                case 1:
                    tidyBook();
                    break;
                case 2:
                    System.out.println("请输入书籍名称");
                    String s1 = scanner1.next();
                    inquireBook(s1);
                    break;
                case 3:
                    System.out.println("请输入书籍名称");
                    String s2 = scanner1.next();
                    System.out.println("请输入书籍作者名称");
                    String s3 = scanner1.next();
                    System.out.println("请输入书籍价格");
                    double x = scanner1.nextDouble();
                    addBook(s2,s3,x);
                    break;
                case 4:
                    System.out.println("请输入书籍名称");
                    String s4 = scanner1.next();
                    deleteBook(s4);
                    break;
                case 5:
                    printBookTable();
                    break;
                case 6:
                    logOut();
                    break;

            }
        }
    }

}

import java.util.Arrays;
import java.util.Scanner;

/**
 * @ClassName BookSystem
 * @Description 图书管理系统
 * @Author lzq
 * @Date 2018/11/5 16:30
 * @Version 1.0
 **/
public class BookSystem {
    static Book[] books = {new Book("三国演义","罗贯中",59.9),
            new Book("西游记","吴承恩",158.9),
            new Book("红楼梦","曹雪芹",98.9),
            new Book("钢铁是怎样练成的","尼古拉·阿列克谢耶维奇·奥斯特洛夫斯基",354.4),
            new Book("三体","刘慈欣",118.4),
            new Book("时间简史","史蒂芬·威廉·霍金",95.9),};

    /**
     * 删除书籍
     * @param book
     */
    public static void deleteBook(String book,int index) {
        for(int i = index;i < books.length;i++) {
            if(i == books.length-1) {
                break;
            }
           books[i] = books[i+1];
        }
        books = Arrays.copyOf(books,books.length-1);
    }

    public static void addBook(String book_name,String book_author_name,double book_price) {
        books = Arrays.copyOf(books,books.length+1);
        books[books.length-1] = new Book(book_name,book_author_name,book_price);
        System.out.println("添加成功!");
    }


    public static void start() {
        while(true) {
            System.out.println("------------图论科技图书管理系统------------");
            System.out.print("请登录:1:普通用户   2:管理员登录\n\n");
            Scanner scanner = new Scanner(System.in);
            int input = scanner.nextInt();
            switch(input) {
                case 1 :
                    System.out.print("请输入姓名:");
                    String user_name = scanner.next();
                    System.out.print("请输入学号:");
                    int user_id = scanner.nextInt();
                    new User(user_name,user_id);
                    break;
                case 2 :
                    System.out.print("请输入姓名:");
                    String admin_name = scanner.next();
                    System.out.print("请输入工号:");
                    int admin_id = scanner.nextInt();
                    new Admin(admin_name,admin_id) ;
                    break;
            }
        }
    }
}

/**
 * @ClassName Book
 * @Description 书
 * @Author lzq
 * @Date 2018/11/5 15:56
 * @Version 1.0
 **/
public class Book implements Comparable<Book>{
    private String book_name;  //书名
    private double book_price;    //书的价格
    private String book_author_name;  //书的作者名字

    public Book(String book_name,String book_author_name,double book_price) {
        this.book_name = book_name;
        this.book_author_name = book_author_name;
        this.book_price = book_price;
    }

    public String getBook_name() {
        return book_name;
    }

    public void setBook_name(String book_name) {
        this.book_name = book_name;
    }

    public double getBook_price() {
        return book_price;
    }

    public void setBook_price(double book_price) {
        this.book_price = book_price;
    }

    public String getBook_author_name() {
        return book_author_name;
    }

    public void setBook_author_name(String book_author_name) {
        this.book_author_name = book_author_name;
    }

    @Override
    public String toString() {
        return book_name + "   " + book_price +"   "+ book_author_name;
    }


    @Override
    public int compareTo(Book o) {
        //return this.book_name.compareTo(o.book_name);  //按名字排序
        return (int)(this.book_price-o.book_price);  //按价格排序
    }
}

测试类

public class TestDemo {
    public static void main(String[] args) {
        BookSystem.start();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值