图书管理系统代码(Java)
1、运行演示
QQ2024528-205028-HD
详细讲解在这篇博客:JavaSE:图书管理系统-CSDN博客
2、所建的包
3、Java代码
3.1 book包
3.1.1 Book类代码
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类代码
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类代码
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类代码
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; i3.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; i3.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; i3.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; i3.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; i3.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); } } }
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。