public class BookList {
private Book[] books = new Book[10];
private int usedSize;
public BookList(){
books[0] = new Book(“三国演义”,“罗贯中”,17,“小说”);
books[1] = new Book(“西游记”,“吴承恩”,40,“小说”);
books[2] = new Book(“水浒传”,“施耐庵”,57,“小说”);
this.usedSize = 3;
}
public int getUsedSize() {
return usedSize;
}
public void setUsedSize(int usedSize) {
this.usedSize = usedSize;
}
/\*\*
* 获取到pos位置的一本书
* @param pos
* @return
*/
public Book getPos(int pos){
return this.books[pos];
}
/\*\*
* 设置pos下标为一本书->[添加一本书]
* @param pos
* @param book
*/
public void setBook(int pos,Book book){
this.books[pos] = book;
}
}
### 2. operations包
#### AddOperation类
package operations;
import book.Book;
import book.BookList;
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
import java.util.Scanner;
public class AddOperation implements IOperation {
@Override
public void work(BookList bookList) {
System.out.println("新增图书");
//输入图书信息
System.out.println("输入新增图书名称:");
String name = scanner.nextLine();
System.out.println("输入新增图书作者:");
String author = scanner.nextLine();
System.out.println("输入新增图书价格:");
int price = scanner.nextInt();
scanner.nextLine();
System.out.println("输入新增图书类型:");
String type = scanner.nextLine();
Book book = new Book(name, author, price, type);
//获取存书位置
int size = bookList.getUsedSize();
//把书放到书架(数组)
bookList.setBook(size,book);
//书的总数加1
bookList.setUsedSize(size+1);
System.out.println("添加成功!");
}
}
#### BorrowOperation类
package operations;
import book.Book;
import book.BookList;
import java.util.Scanner;
public class BorrowOperation implements IOperation{
public void work(BookList bookList){
System.out.println("借阅图书!");
System.out.println("请输入你要借阅的图书的名字:");
String name = scanner.nextLine();
int size = bookList.getUsedSize();
for (int i = 0; i < size; i++) {
Book book = bookList.getPos(i);
if(name.equals(book.getName())){
book.setBorrowed(true);
System.out.println("借阅成功!");
System.out.println(book);
return;
}
}
System.out.println("没有你要借阅的这本书!");
}
}
#### DelOperation类
package operations;
import book.Book;
import book.BookList;
public class DelOperation implements IOperation{
public void work(BookList bookList){
System.out.println("删除图书!");
//1.根据书名找到书的位置index
System.out.println("请输入你要删除的图书:");
String name = scanner.nextLine();
int currentSize = bookList.getUsedSize();
int index = 0;//存储找到的下标
int i = 0;
for (; i < currentSize; i++) {
Book book = bookList.getPos(i);
if(book.getName().equals(name)){
index = i;
break;
}
}
if(i >= currentSize){
System.out.println("没有你要删除的这本书!");
return;
}
//2.进行删除
for (int j = 0; j < currentSize - 1; j++) {
Book book = bookList.getPos(j + 1);
bookList.setBook(j,book);
}
bookList.setBook(currentSize,null);
bookList.setUsedSize(currentSize-1);
System.out.println("删除成功! ");
}
}
#### DisplayOperation类
package operations;
import book.Book;
import book.BookList;
public class DisplayOperation implements IOperation{
public void work(BookList bookList){
System.out.println("打印图书!");
int size = bookList.getUsedSize();
for (int i = 0; i < size; i++) {
Book book = bookList.getPos(i);
System.out.println(book);
}
}
}
#### ExitOperation类
package operations;
import book.BookList;
public class ExitOperation implements IOperation{
public void work(BookList bookList){
System.out.println("退出系统!");
System.exit(0);
}
}
#### FindOperation类
package operations;
import book.Book;
import book.BookList;
public class FindOperation implements IOperation{
public void work(BookList bookList){
System.out.println("查找图书!");
String name = scanner.nextLine();
int size = bookList.getUsedSize();
for (int i = 0; i < size; i++) {
Book book = bookList.getPos(i);
if(name.equals(book.getName())){
System.out.println("找到了这本书,信息如下:");
System.out.println(book);
return;
}
}
System.out.println("没有找到这本书!");
}
}
#### ReturnOperation类
package operations;
import book.Book;
import book.BookList;
public class ReturnOperation implements IOperation{
public void work(BookList bookList){
System.out.println("归还图书!");
System.out.println("请输入你要归还的图书的名字:");
String name = scanner.nextLine();
int size = bookList.getUsedSize();
for (int i = 0; i < size; i++) {
Book book = bookList.getPos(i);
if(name.equals(book.getName())){
book.setBorrowed(false);
System.out.println("归还成功!");
System.out.println(book);
return;
}
}
System.out.println("没有你要归还的这本书!");
}
}
#### IOperation接口
package operations;
import book.BookList;
import java.util.Scanner;
public interface IOperation {
Scanner scanner = new Scanner(System.in);
void work(BookList bookList);
}
### 3. user包
#### AdminUser类
package user;
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
import operations.*;
import java.util.Scanner;
import java.util.SplittableRandom;
public class AdminUser extends User{
public AdminUser(String name){
super(name);
this.iOperations = new IOperation[] {
new ExitOperation(),
new FindOperation(),
new AddOperation(),
new DelOperation(),
new DisplayOperation()
};
}
public int menu(){
System.out.println("============管理员菜单============");
System.out.println("hello" +" " + this.name + " 欢迎来到这里");
System.out.println("1.查找图书");
System.out.println("2.新增图书");
System.out.println("3.删除图书");
System.out.println("4.显示图书");
System.out.println("0.退出系统");
System.out.println("=================================");
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt();
return choice;
}
}
#### NormalUser类
package user;
import operations.*;
import java.util.Scanner;
public class NormalUser extends User{
public NormalUser(String name){
super(name);
this.iOperations = new IOperation[] {
new ExitOperation(),
new FindOperation(),
new BorrowOperation(),
new ReturnOperation()
};
}
public int menu(){
System.out.println("============普通用户菜单============");
System.out.println("hello" +" " + this.name + " 欢迎来到这里");
System.out.println("1.查找图书");
System.out.println("2.借阅图书");
System.out.println("3.归还图书");
System.out.println("0.退出系统");
System.out.println("=================================");
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
out.println(“=================================”);
[外链图片转存中…(img-seQAud2f-1714735414668)]
[外链图片转存中…(img-3lvAKNch-1714735414668)]
[外链图片转存中…(img-ogdG525u-1714735414668)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新