Java图书馆管理系统
创建一个基于命令行的简单图书馆管理系统。它可以实现图书的基本功能,如增删查改、用户管理、账户登录等。
一、创建图书实体类
定义一个图书的实体类,包括编号,书名,作者,以及库存等字段。
public class Book { private String id; private String title; private String author; private int stock; public Book(String id, String title, String author, int stock) { this.id = id; this.title = title; this.author = author; this.stock = stock; } // getters and setters }
二、创建图书管理类
创建一个用于管理图书的类,包含添加、删除、更新和搜索等操作方法。
import java.util.ArrayList; public class BookManager { private ArrayList<Book> books; public BookManager() { books = new ArrayList<>(); } public void addBook(Book book) { books.add(book); } public void deleteBook(String id) { for(Book book : books) { if (book.getId().equals(id)) { books.remove(book); break; } } } public void updateBook(Book newBook) { for (Book book : books) { if (book.getId().equals(newBook.getId())) { books.remove(book); books.add(newBook); break; } } } public Book findBook(String id) { for (Book book : books) { if (book.getId().equals(id)) { return book; } } return null; } }
三、创建用户和用户管理类
创建一个用户的实体类,包括用户名和密码等字段。
public class User { private String username; private String password; public User(String username, String password) { this.username = username; this.password = password; } // getters and setters }
用于管理用户账号的类,包含添加、删除、查找和验证账号的方法。
import java.util.ArrayList; public class UserManager { private ArrayList<User> users; public UserManager() { users = new ArrayList<>(); } public void addUser(User user) { users.add(user); } public void deleteUser(String username) { for(User user : users) { if (user.getUsername().equals(username)) { users.remove(user); break; } } } public User findUser(String username) { for (User user : users) { if (user.getUsername().equals(username)) { return user; } } return null; } public boolean validateUser(String username, String password) { for (User user : users) { if (user.getUsername().equals(username) && user.getPassword().equals(password)) { return true; } } return false; } }
四、应用主类和功能选择
创建一个主类,用于实现添加、删除、更新和搜索图书的操作,以及用户的登录和注册。
import java.util.Scanner; public class LibraryApp { private static BookManager bookManager = new BookManager(); private static UserManager userManager = new UserManager(); private static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { outerloop: while (true) { System.out.println("1. 登录 2. 注册 3. 退出"); int choice = scanner.nextInt(); switch (choice) { case 1: if (login()) { bookOperation(); } break; case 2: register(); break; case 3: break outerloop; default: System.out.println("请输入正确的选项!"); } } } // login, register and bookOperation methods are defined here... }
五、用户登录和注册方法
登录和注册的方法定义为下:
public static boolean login() { System.out.println("请输入用户名:"); String username = scanner.next(); System.out.println("请输入密码:"); String password = scanner.next(); if (userManager.validateUser(username, password)) { System.out.println("登录成功!"); return true; } else { System.out.println("用户名或密码错误!"); return false; } } public static void register() { System.out.println("请输入用户名:"); String username = scanner.next(); System.out.println("请输入密码:"); String password = scanner.next(); User user = new User(username, password); userManager.addUser(user); System.out.println("注册成功!"); }
六、图书的管理操作
最后定义一个用于操作图书的方法,包括添加、删除、更新和搜索图书。
public static void bookOperation() { while (true) { System.out.println("1. 添加图书 2. 删除图书 3. 更新图书 4. 查找图书 5. 退出"); int choice = scanner.nextInt(); switch (choice) { case 1: addBook(); break; case 2: deleteBook(); break; case 3: updateBook(); break; case 4: findBook(); break; case 5: return; default: System.out.println("请输入正确的选项!"); } } }