更新时间:2022-04-22 10:13:32 来源:极悦 浏览1407次
极悦小编来告诉大家Java图书管理系统基本架构代码。
书类:
包 book_management;
//图书实体类
公共课本{
//标题
私人字符串书名;
//作者
私人字符串作者;
//价格
私人双倍价格;
//图书分类
私有字符串类型;
//借阅状态:默认为false
私有布尔 isBorrowed;
public Book(String bookName,String author,double price,String type){
this.bookName = 书名;
this.author = 作者;
this.price = 价格;
this.type = 类型;
}
//只有需要修改的属性才需要提供setter-价格、类型和借贷状态
公共无效 setPrice(双倍价格){
this.price = 价格;
}
公共无效 setType(字符串类型){
this.type = 类型;
}
公共无效 setBorrowed(布尔借用){
isBorrowed = 借来的;
}
公共字符串 getBookName(){
返回书名;
}
公共字符串 getAuthor(){
返回作者;
}
公共双 getPrice(){
退货价格;
}
公共字符串 getType(){
返回类型;
}
公共布尔 isBorrowed(){
返回是借来的;
}
@覆盖
公共字符串 toString() {
返回 "书{" +
"书名='" + 书名 + '\'' +
", 作者='" + 作者 + '\'' +
", 价格=" + 价格 +
", type='" + 类型 + '\'' +
", isBorrowed=" + isBorrowed +
'}';
}
}
bookList 类:
包 book_management;
进口来.B;
导入 java.util.ArrayList;
导入 java.util.List;
//书架
公共类书单{
// Books 存储当前书架中的所有书籍,每个 Book 对象都是一个 Book 的实体
私有静态 List<Book> books = new ArrayList<>();
// booksName 存储所有书名——查询书等通过书名操作
私有静态列表<String> bookName = new ArrayList<>();
// 初始化books和booksName,默认将四大名著放入书架
// 使用静态代码块初始化静态变量
静止的 {
books.add(new Book("西游记","吴承恩",99.99,"小说"));
books.add(new Book("红楼梦","曹雪芹",108.9,"小说"));
books.add(new Book("水浒传","施耐安",199.89,"小说"));
books.add(new Book(《三国志》,"罗冠中",145.39,"小说"));
bookName.add("西游记");
bookName.add("红楼梦");
bookName.add("水浒传");
bookName.add("三国志");
}
公共无效显示书(){
对于(书籍书籍:书籍){
System.out.println(book);
}
}
公共布尔包含(字符串书名){
返回 BookList.bookName.contains(booksName);
}
公共无效添加(书本){
书籍。添加(书籍);
bookName.add(book.getBookName());
}
}
主要方法:
包 book_management;
导入 java.util.Scanner;
//整个程序的入口
公共类主要{
私人静态扫描仪扫描仪=新扫描仪(System.in);
公共静态无效主要(字符串[]参数){
用户用户=登录();
BookList bookList = new BookList();
而(真){
int 选择 = user.menu();
如果(选择 == -1){
System.out.println("再见!");
休息;
}
user.doOperation(choice,bookList);
}
}
私人静态用户登录(){
System.out.println("请输入用户名:");
字符串名称 =scanner.next();
System.out.println("请选择您的角色。1为普通用户,0为管理员");
int 选择=scanner.nextInt();
如果(选择 == 1){
返回新的普通用户(名称);
}
返回新的管理员用户(名称);
}
}
用户等级:
包 book_management;
//用户类-抽象类
//不知道是普通用户还是管理员
公共抽象类用户{
//用户名
受保护的字符串名称;
//授权操作的方法
受保护的 IOperation[] 操作;
// 菜单。只有特定的子类知道菜单长什么样~~
公共抽象整数菜单();
公共无效doOperation(int选择,BookList bookList){
操作[选择 - 1].work(bookList);
}
}
相关操作类框架代码:
包 book_management;
导入 java.util.Scanner;
//书架操作界面
// 增删改查-借书-还书
// 接口中只有全局常量和抽象方法
公共接口 IOperation {
// 全局常量,由所有接口的子类共享
// static + final co 修改
扫描仪扫描仪=新扫描仪(System.in);
//在对应的书架类中操作
无效工作(BookList bookList);
}
//添加书籍
公共类 AddOperation 实现 IOperation{
@覆盖
公共无效工作(BookList bookList){
System.out.println("正在添加书籍...");
}
}
//借阅图书
公共类 BorrowOperation 实现 IOperation{
@覆盖
公共无效工作(BookList bookList){
}
}
//删除书籍
公共类 DeleteOperation 实现 IOperation{
@覆盖
公共无效工作(BookList bookList){
}
}
//显示所有书籍
公共类 DisplayAllBooks 实现 IOperation{
@覆盖
公共无效工作(BookList bookList){
System.out.println("你现在要做的是查看所有书籍!");
bookList.displayBooks();
}
}
//找书
公共类 FindOperation 实现 IOperation{
@覆盖
公共无效工作(BookList bookList){
}
}
//还书
公共类 ReturnOperation 实现 IOperation{
@覆盖
公共无效工作(BookList bookList){
}
}
//更新书籍
公共类 UpdateOperation 实现 IOperation{
@覆盖
公共无效工作(BookList bookList){
}
}
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习