零基础Java第十八期:图书管理系统

目录

一、package book

1.1. Book

package book;

public class Book {
    private String title; // 书籍名称
    private String author; // 作者
    private int price; // 价格
    private String type; // 类型
    private boolean BeBorrowed; // 是否被借出

    public Book(String title, String author, int price, String type, boolean beBorrowed) {
        this.title = title;
        this.author = author;
        this.price = price;
        this.type = type;
        BeBorrowed = beBorrowed;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getAuthor() {
        return author;
    }

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

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public boolean isBeBorrowed() {
        return BeBorrowed;
    }

    public void setBeBorrowed(boolean beBorrowed) {
        BeBorrowed = beBorrowed;
    }

    @Override
    public String toString() {
        return "Book{" +
                "title='" + title + '\'' +
                ", author='" + author + '\'' +
                ", price=" + price +
                ", type='" + type + '\'' +
                ", BeBorrowed=" + BeBorrowed +
                '}';
    }
}

我们定义的成员变量如上代码所示,我们只需要创建成员变量,剩下的都可以用编译器帮我们生成。

1.2. BookList

package book;

public class BooList {
    private Book[] books; // 存放书籍
    private static final int DEFAULT_SIZE = 10;

    private int usedSize; // 有效书籍的个数

    public BooList(Book[] books) {
        this.books = books;
    }

    public int getUsedSize() {
        return usedSize;
    }

    public void setUsedSize(int usedSize) {
        this.usedSize = usedSize;
    }
}

我们的书架要存储很多的书,那么我们就用一个数组来存储。我们利用DEFAULT_SIZE来确定数组的长度。如果说,这个书架最多能放下10本书,而我们手上需要有三本书需要存放,那我们就定义一个usedSize变量来记录有效书籍的数量。

二、package user

2.1. User

package user;

public abstract class User {
    public String name;

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

    public abstract void menu();
}

用户分为普通用户与管理员,后两者需要继承用户,我们就可以对用户这个类进行抽象化。我们在User类里面同时在写一个menu方法(且这个方法无具体表现)。

2.2. NormalUser与AdminiUser

package user;

public class NormalUser extends User {
    public NormalUser(String name) {
        super(name);
    }

    @Override
    public void menu() {
        System.out.println("普通用户菜单");
    }
}

package user;

public class AdminiUser extends User {
    public AdminiUser(String name) {
        super(name);
    }

    @Override
    public void menu() {
        System.out.println("管理员菜单");
    }
}

三、Main

通过Main这个类,我们可以来进行一些操作,比如输入姓名,选择身份,查找图书等。我们在main方法之前,先写一个登录方法,因为我们的返回值是User的子类,所以把返回值类型void改成User。我们在这里可以先运行一下。

import user.AdminiUser;
import user.NormalUser;
import user.User;

import java.util.Scanner;

public class Main {
    public static User Login() {
        Scanner sca = new Scanner(System.in);
        System.out.println("请输入你的姓名:");
        String name = sca.nextLine();
        System.out.println("请输入你的身份:1.管理员  2.普通用户");
        int choice = sca.nextInt();
        if (choice == 1) {
            return new AdminiUser(name);
        } else {
            return new NormalUser(name);
        }
    }

    public static void main(String[] args) {
        User user = Login();
        user.menu();
    }
}

四、NormalUser与AdminiUser的菜单

版权声明:程序员胖胖胖虎阿 发表于 2024年12月27日 上午11:35。
转载请注明:零基础Java第十八期:图书管理系统 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...