怎样查看网站备案号,自己录入数据做问卷的网站,高端品牌女装特价网,互联网app推广目录 一.Main函数二.用户类三.普通用户类四.管理员类五.图书类六.书架类七.操作类1.操作接口2.增加操作3.删除操作4.查找操作5.展示操作6.借阅操作7.归还操作8.退出系统 总结 这篇图书管理系统是对JavaSE知识总结复习的一个小作业#xff0c;检测自己对知识的掌握程度。 一.Ma… 目录 一.Main函数二.用户类三.普通用户类四.管理员类五.图书类六.书架类七.操作类1.操作接口2.增加操作3.删除操作4.查找操作5.展示操作6.借阅操作7.归还操作8.退出系统 总结 这篇图书管理系统是对JavaSE知识总结复习的一个小作业检测自己对知识的掌握程度。 一.Main函数
public class Main {public static User login(){System.out.println(输入你的姓名);Scanner scanner new Scanner(System.in);String name scanner.nextLine();System.out.println(1.管理员 2.普通用户);System.out.println(输入你的身份);int choice scanner.nextInt();if (choice 1){return new Admin(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.doOperation(choice,bookList);}}
}二.用户类
public abstract class User {private String name;protected IOperation[] iOperations;public User(String name){this.name name;IOperation[] iOperations;}public abstract int menu();public void doOperation(int choice,BookList bookList){IOperation iOperation iOperations[choice];iOperation.work(bookList);}
}三.普通用户类
public class NormalUser extends User{public NormalUser(String name) {super(name);this.iOperations new IOperation[]{new ExitOperation(),new FindOperation(),new BorrowOperation(),new ReturnOperation()};}Overridepublic int menu() {System.out.println(*******管理员菜单*********);System.out.println(*******1.查找图书*********);System.out.println(*******2.借阅图书*********);System.out.println(*******3.归还图书*********);System.out.println(***0.退出系统****);System.out.println(请输入你的操作);Scanner scanner new Scanner(System.in);int choice scanner.nextInt();return choice;}
}四.管理员类
public class Admin extends User{public Admin(String name) {super(name);this.iOperations new IOperation[] {new ExitOperation(),new FindOperation(),new AddOperation(),new DeleOperation(),new ShouwOperation()};}Overridepublic int menu() {System.out.println(*******管理员菜单*********);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;}
}五.图书类
public class Book{//书名 作者 价格 类型 是否借出private String name;private String author;private int price;private String type;private Boolean isBorrowed false;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 String getType() {return type;}public void setType(String type) {this.type type;}public Boolean getBorrowed() {return isBorrowed;}public void setBorrowed(Boolean borrowed) {isBorrowed borrowed;}public Book(String name, String author, int price, String type) {this.name name;this.author author;this.price price;this.type type;}Overridepublic String toString() {return Book{ name name \ , author author \ , price price , type type \ , isBorrowed isBorrowed };}
}六.书架类
public class BookList {public Book[] books;public int usedSize;public BookList(){this.books new Book[10];books[0] new Book(三国演义,罗贯中,46,小说);books[1] new Book(水浒传,施耐庵,37,小说);books[2] new Book(红楼梦,曹雪芹,76,小说);books[3] new Book(西游记,吴承恩,88,小说);usedSize 4;}public Book getBook(int pos) {return books[pos];}public void setBook(Book book,int pos) {this.books[pos] book;}public int getUsedSize() {return usedSize;}public void setUsedSize(int usedSize) {this.usedSize usedSize;}
}
七.操作类
1.操作接口
public interface IOperation {void work(BookList bookList);Scanner scanner new Scanner(System.in);
}
2.增加操作
public class AddOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(请输入你要增加图书的书名);String name scanner.nextLine();System.out.println(请输入你要添加书的作者);String author scanner.nextLine();System.out.println(请输入你要添加书的价格);int price scanner.nextInt();System.out.println(请输入你要添加书的类型);scanner.nextLine();String type scanner.nextLine();int currentSize bookList.getUsedSize();for (int i 0; i currentSize; i) {if(bookList.getBook(i).getName().equals(name)){System.out.println(该书已经存在无法添加);return;}}//书不存在 进行添加操作Book book new Book(name,author,price,type);bookList.setBook(book,currentSize);bookList.setUsedSize(currentSize1);}
}3.删除操作
public class DeleOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(请输入你要删除书的书名);String name scanner.nextLine();int index -1;int i 0;int currentSize bookList.getUsedSize();for ( i 0; i currentSize; i) {Book book bookList.getBook(i);if (book.getName().equals(name)){index i;break;}}if (i currentSize){System.out.println(要删除的书不存在);return;}for (int j index; j currentSize-1; j) {Book book bookList.getBook(j1);bookList.setBook(book,j);}bookList.setBook(null,currentSize);bookList.setUsedSize(currentSize-1);System.out.println(删除成功);}
}4.查找操作
public class FindOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(请输入你要查找的书的书名);String name scanner.nextLine();int currentSize bookList.getUsedSize();for (int i 0; i currentSize; i) {Book book bookList.getBook(i);if (book.getName().equals(name)){System.out.println(book);return;}}System.out.println(图书馆没有你要寻找的书);}
}5.展示操作
public class ShouwOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(展示所有图书);int currentSize bookList.getUsedSize();for (int i 0; i currentSize; i) {Book book bookList.getBook(i);System.out.println(book);}}
}6.借阅操作
public class BorrowOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(图书馆的书如下);int currentSzie bookList.getUsedSize();for (int i 0; i currentSzie; i) {Book book bookList.getBook(i);System.out.println(book.getName());}System.out.println(请输入你要外借的图书的书名);String name scanner.nextLine();for (int i 0; i currentSzie; i) {Book book bookList.getBook(i);if(book.getName().equals(name)){if (book.getBorrowed()){System.out.println(该书已被借出换本书吧);return;}else {book.setBorrowed(true);System.out.println(借阅成功);System.out.println(该书的信息如下);System.out.println(book);return;}}}System.out.println(你想借阅的图书不存在);}
}7.归还操作
public class ReturnOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(归还图书);System.out.println(请输入你要归还的图书的书名);String name scanner.nextLine();int currentSize bookList.getUsedSize();for (int i 0; i currentSize; i) {Book book bookList.getBook(i);if (book.getName().equals(name)){book.setBorrowed(false);System.out.println(归还成功);return;}}System.out.println(不存在你要归还的图书);}
}
8.退出系统
public class ExitOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(退出系统);System.exit(0);}
}
总结 以上就是图书管理系统的所有知识有些地方还是需要思考去巧妙地设计使得文章更加简洁明了。冰冻三尺非一日之寒。水滴石穿非一日之功。坚持把每一个知识点搞清楚并进行总结形成属于自己的知识框架会让你的学习更加轻松。