你是知道我的,话不多说,直接上代码
一、User类(暂时没用
//这东西暂时没用
public class User {
private String ID;
private String name;
private int password;
private boolean isGLY;
public User(String ID, String name, int password, boolean isGLY) {
this.ID = ID;
this.name = name;
this.password = password;
this.isGLY = isGLY;
}
public User(){};
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPassword() {
return password;
}
public void setPassword(int password) {
this.password = password;
}
public boolean isGLY() {
return isGLY;
}
public void setGLY(boolean GLY) {
isGLY = GLY;
}
}
二、Book类
public class Book {
private String bookName;
private String author;
private double prince;
private String type;
private boolean isIn;
@Override
public String toString() {
return "书名:'" + bookName + '\'' +
", 作者:'" + author + '\'' +
", 售价:'" + prince +
", 图书类型:'" + type + '\'' +
", 在库:" + isIn;
}
public Book(String bookName, String author, double prince, String type) {
this.bookName = bookName;
this.author = author;
this.prince = prince;
this.type = type;
this.isIn = true;
}
public Book(){};
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public double getPrince() {
return prince;
}
public void setPrince(double prince) {
this.prince = prince;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public boolean isIn() {
return isIn;
}
public void setIn(boolean in) {
isIn = in;
}
}
三、直接上主函数
import java.util.ArrayList;
import java.util.Scanner;
public class TsgSys {
// 图书管理系统
// 1.定义数据类型: Book图书类,User类
//登陆界面
//需要一个账户来记录所有的user
static ArrayList<User> users = new ArrayList<>();
//图书列表也写这里
static ArrayList<Book> books = new ArrayList<>();
//写这里好像不用传参数了
static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
defaultLoad();
//注释的这一部分以后再说吧
// System.out.println(users.size());
// while(true){
// System.out.println("请输入姓名或者ID:输入0退出系统");
// String userInString = scanner.next();
// if(userInString.equals("0")){
// return;
// }
// for (User user:users) {
// if(userInString.equals(user.getID()) || userInString.equals(user.getName())){
// if(user.isGLY()){
// //进入管理员的界面
// System.out.println("欢迎管理员"+user.getName()+"!");
// }
// if(!user.isGLY()){
// //进入普通用户的界面
// System.out.println("欢迎"+user.getName()+"!");
// }
// break;
// }else{
// System.out.println("该用户没有注册!");
// //因为是考试,所以添加用户先不做了嗷
// break;
// }
// }
// }
while(true){
System.out.println("======欢迎来到XXX图书馆登录界面======");
System.out.println("请输入用户名称:");
String userName = scanner.next();
System.out.println("请输入您的身份:1.管理员 2.普通用户 0.退出系统");
int userType = scanner.nextInt();
if(userType == 1){
System.out.println("欢迎管理员"+userName+"登录图书管理系统!");
//进入管理员的界面
glyMenu();
}else if(userType == 2){
System.out.println("欢迎用户"+userName+"登录图书管理系统!");
//进入普通用户界面
yhMenu();
}else if(userType == 0){
System.out.println("欢迎下次使用!");
return;
}else{
System.out.println("非法输入,请重新输入!");
}
}
}
private static void defaultLoad() {
//准备工作,创建管理员用户和一个普通用户,并添加去
User idiot = new User("000000", "idiot", 7895123, true);
User ptr = new User("111111", "普通人", 7895123, false);
users.add(idiot);
users.add(ptr);
//创建一些默认图书,并添加到列表
Book book1 = new Book("西游记", "吴承恩", 78, "小说");
Book book2 = new Book("红楼梦", "曹雪芹", 89, "小说");
Book book3 = new Book("水浒传", "施耐庵", 108, "小说");
Book book4 = new Book("三国演义", "罗贯中", 33, "小说");
books.add(book1);
books.add(book2);
books.add(book3);
books.add(book4);
//可以写到一个静态函数里直接加载?试一试
}
private static void glyMenu(){
System.out.println("======管理员菜单======");
while(true){
System.out.println("1.查找图书");
System.out.println("2.新增图书");
System.out.println("3.删除图书");
System.out.println("4.显示图书");
System.out.println("0.登出账号");
int userInInt = scanner.nextInt();
switch (userInInt){
case 1:
System.out.println("查找图书");
select();
break;
case 2:
System.out.println("新增图书");
add();
break;
case 3:
System.out.println("删除图书");
delete();
break;
case 4:
for (Book book:books) {
System.out.println(book);
}
break;
case 0:
System.out.println("Bye!");
return;
default:
System.out.println("输入不合法!请重新输入!");
}
}
}
private static void yhMenu(){
System.out.println("======用户菜单======");
while(true){
System.out.println("1.查找图书");
System.out.println("2.借阅图书");
System.out.println("3.归还图书");
System.out.println("0.登出账号");
int userInInt = scanner.nextInt();
switch (userInInt){
case 1:
System.out.println("查找图书");
select();
break;
case 2:
System.out.println("借阅图书");
jBook();
break;
case 3:
System.out.println("归还图书");
hBook();
break;
case 0:
System.out.println("Bye!");
return;
default:
System.out.println("输入不合法!请重新输入!");
}
}
}
private static void select(){
System.out.println("请输入要查找的书名:");
String userInString = scanner.next();
boolean isIn=false;
for (Book book:books) {
if(book.getBookName().equals(userInString)){
System.out.println(book);
isIn =true;
}
}
if(!isIn){
System.out.println("未查询到图书,请确实书名!");
}
}
private static void add(){
System.out.println("请输入要添加的书名:");
String bookName = scanner.next();
System.out.println("请输入书的作者:");
String bookAuthor = scanner.next();
System.out.println("请输入书的类型:");
String bookType = scanner.next();
System.out.println("请输入书的售价:");
double bookPrice = scanner.nextDouble();
Book newBook = new Book(bookName, bookAuthor, bookPrice, bookType);
books.add(newBook);
System.out.println("添加图书:"+newBook+" 成功!");
}
private static void delete(){
System.out.println("请输入要删除的书名:");
String userInString = scanner.next();
Book book;int count = 1;
for (int i = 0; i < books.size(); i++) {
book = books.get(i);
if (book.getBookName().equals(userInString)){
System.out.println("已查询到第"+count+"本该书名图书");
if(book.isIn()){
books.remove(i);
i--;
System.out.println("第"+count+"本该书名图书删除成功!");
}else{
System.out.println("第"+count+"本该书名图书被借阅尚未归还,删除失败!");
}
count++;
}
}
if (count == 1){
System.out.println("未查询到该图书:"+userInString+"请确认书名是否无误");
}
}
private static void jBook(){
System.out.println("请输入要借阅的书名:");
String userInString = scanner.next();
int count = 1;
for (Book book : books) {
if (book.getBookName().equals(userInString)) {
System.out.println("已查询到第" + count + "本该书名图书");
if (book.isIn()) {
book.setIn(false);
System.out.println("借阅成功!");
return;
} else {
System.out.println("第" + count + "本该书名图书被借阅尚未归还,正在为您查找下一本……");
}
count++;
}
}
if (count == 1){
System.out.println("未查询到该图书:"+userInString+"请确认书名是否无误");
}else{
System.out.println("所有图书已被借阅,请过段时间再来查询");
}
}
private static void hBook(){
System.out.println("请输入要归还的书名:");
String userInString = scanner.next();
int count = 1;
for (Book book : books) {
if (book.getBookName().equals(userInString)) {
System.out.println("已查询到第" + count + "本该书名图书");
if (book.isIn()) {
count++;
}else{
book.setIn(true);
System.out.println("图书归还成功!");
return;
}
count++;
}
}
if (count == 1){
System.out.println("未查询到该图书:"+userInString+"请确认书名是否无误");
}else{
System.out.println("发生了未知错误,可能有人没有借但是还了或者管理员错误的强行删除了图书记录,归还失败!");
}
}
}
虽然用户类暂时没用上,但是如果你不是很熟练的话,直接带着它就行了。
很熟练的可以试着添加一些功能,或者将我写的冗余代码删除掉。
毕竟是刚学完javaSE,两个小时也只能做到这个水平啦