图书管理系统代码(Java)
1、运行演示
QQ2024528-205028-HD
详细讲解在这篇博客:JavaSE:图书管理系统-CSDN博客
2、所建的包
3、Java代码
3.1 book包
3.1.1 Book类代码
Python
package book;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 13:16
*/
public class Book {
private String name;
private String author;
private int price;
private String type;
private boolean isBorrowed;
public Book(String name, String author, String type, int price) {
this.name = name;
this.author = author;
this.price = price;
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
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 boolean getBorrowed() {
return isBorrowed;
}
public void setBorrowed(boolean borrowed) {
isBorrowed = borrowed;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", author='" + author + '\'' +
", price=" + price +", 状态:"+
(isBorrowed ? " 该书已被借出" : "该书未被借出")+
'}';
}
}
3.1.2 BookList类代码
Python
package book;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 13:19
*/
public class BookList {
private Book[] books = new Book[10];
private int bookNumber;
public BookList() {
books[0] = new Book("哈利波特", "J.K.罗琳", "小说",30);
books[1] = new Book("三国演义", "罗贯中","小说", 35);
books[2] = new Book("红楼梦", "曹雪芹", "小说",25);
books[3] = new Book("鲁宾逊漂流记", "丹尼尔·笛福", "小说",40);
this.bookNumber = 4;
}
public int getBookNumber() {
return bookNumber;
}
public void setBookNumber(int bookNumber) {
this.bookNumber = bookNumber;
}
public Book getBook(int index) {
Book book = books[index];
return book;
}
public void setBooks(Book book,int index) {
books[index] = book;
}
}
3.2 operation包
3.2.1 AddBook类代码
Python
package operation;
import book.Book;
import book.BookList;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 13:33
*/
public class AddBook implements IOperation {
@Override
public void work(BookList bookList) {
int currentNum = bookList.getBookNumber();
Scanner scanner = new Scanner(System.in);
System.out.println("*************Add Book*************");
System.out.println("请输入您所想增添图书的书名:");
String name = scanner.nextLine();
System.out.println("请输入您所想增添图书的作者:");
String author = scanner.nextLine();
System.out.println("请输入您所想增添图书的类型:");
String type = scanner.nextLine();
System.out.println("请输入您所想增添图书的价格:");
int price = scanner.nextInt();
Book book = new Book(name,author,type,price);
bookList.setBooks(book,currentNum);
bookList.setBookNumber(currentNum+1);
}
}
3.2.2 BorrowBook类代码
Python
package operation;
import book.Book;
import book.BookList;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 13:35
*/
public class BorrowBook implements IOperation {
@Override
public void work(BookList bookList) {
System.out.println("*************Borrow Book*************");
System.out.println("请输入您所要借阅图书的书名:");
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int currentNum = bookList.getBookNumber();
for (int i = 0; i
3.2.3 DeleteBook类代码
package operation;
import book.Book;
import book.BookList;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 13:34
*/
public class DeleteBook implements IOperation {
@Override
public void work(BookList bookList) {
System.out.println("*************Borrow Book*************");
System.out.println("请输入您所要删除图书的书名:");
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int currentNum = bookList.getBookNumber();
int index = -1;
for (int i = 0; i
3.2.4 ExitSystem类代码
package operation;
import book.BookList;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 16:22
*/
public class ExitSystem implements IOperation{
@Override
public void work(BookList bookList) {
System.out.println("退出系统!图书管理系统随时欢迎您的下次到来!");
System.exit(0);
}
}
3.2.5 FindBook类代码
package operation;
import book.Book;
import book.BookList;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 13:34
*/
public class FindBook implements IOperation{
@Override
public void work(BookList bookList) {
System.out.println("*************Find Book*************");
System.out.println("请输入您所要查找图书的书名:");
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int currentNum = bookList.getBookNumber();
for (int i = 0; i
3.2.6 IOperation接口代码
package operation;
import book.BookList;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 13:38
*/
public interface IOperation {
void work(BookList bookList);
}
3.2.7 ReturnBook类代码
package operation;
import book.Book;
import book.BookList;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 13:35
*/
public class ReturnBook implements IOperation{
@Override
public void work(BookList bookList) {
System.out.println("*************Return Book*************");
System.out.println("请输入您所要归还图书的书名:");
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int currentNum = bookList.getBookNumber();
for (int i = 0; i
3.2.8 ShowBook类代码
package operation;
import book.Book;
import book.BookList;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 17:21
*/
public class ShowBook implements IOperation{
@Override
public void work(BookList bookList) {
int currentNum = bookList.getBookNumber();
System.out.println("***************展示书籍***************");
for (int i = 0; i
3.3 user包
3.3.1 User类代码
package user;
import book.BookList;
import operation.*;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 13:30
*/
public abstract class User {
protected String name;
IOperation[] iOperations;
public User(String name) {
this.name = name;
}
public abstract int menu();
public void youOperate(int choice,BookList bookList) {
this.iOperations[choice].work(bookList);
}
}
3.3.2 Administrator类代码
package user;
import operation.*;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 13:31
*/
public class Administrator extends User {
public Administrator(String name) {
super(name);
iOperations = new IOperation[]{
new ExitSystem(),
new AddBook(),
new FindBook(),
new ShowBook(),
new DeleteBook()
};
}
@Override
public int menu() {
System.out.println("请输入您的操作:");
System.out.println(" 1.添加书籍 2.查找书籍");
System.out.println("3.展示书籍 4.删除书籍 0.退出系统");
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt();
return choice;
}
}
3.3.3 NormalUser类代码
package user;
import operation.*;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:
* User: dings
* Date: 2024-05-13
* Time: 13:30
*/
public class NormalUser extends User {
public NormalUser(String name) {
super(name);
iOperations = new IOperation[]{
new ExitSystem(),
new FindBook(),
new BorrowBook(),
new ReturnBook(),
new ShowBook()
};
}
@Override
public int menu() {
System.out.println("请输入您的操作:");
System.out.println(" 1.查找书籍 2.借阅书籍");
System.out.println("3.归还书籍 4.展示书籍 0.退出系统");
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt();
return choice;
}
}
3.4 默认包
3.4.1 Main类代码
import book.BookList;
import user.Administrator;
import user.NormalUser;
import user.User;
import java.util.Random;
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Description:图书管理系统
* User: dings
* Date: 2024-05-13
* Time: 13:18
*/
public class Main {
public static User login() {
System.out.println("请输入您的姓名:");
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
System.out.println("Hello! "+name+"! "+"欢迎来到图书系统!");
System.out.println("请选择您的身份:1->图书管理员 2->普通用户");
int choice = scanner.nextInt();
if(choice == 1) {
return new Administrator(name);
}else {
return new NormalUser(name);
}
}
public static void main(String[] args) {
BookList bookList = new BookList();
User user = login();
while (true) {
int choice = user.menu();
user.youOperate(choice,bookList);
}
}
}
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!