创建一个基于命令行的简单图书馆管理系统。它可以实现图书的基本功能,如增删查改、用户管理、账户登录等。
一、创建图书实体类 {#title-1}
定义一个图书的实体类,包括编号,书名,作者,以及库存等字段。
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
}
二、创建图书管理类 {#title-2}
创建一个用于管理图书的类,包含添加、删除、更新和搜索等操作方法。
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;
}
}
三、创建用户和用户管理类 {#title-3}
创建一个用户的实体类,包括用户名和密码等字段。
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;
}
}
四、应用主类和功能选择 {#title-4}
创建一个主类,用于实现添加、删除、更新和搜索图书的操作,以及用户的登录和注册。
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...
}
五、用户登录和注册方法 {#title-5}
登录和注册的方法定义为下:
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("注册成功!");
}
六、图书的管理操作 {#title-6}
最后定义一个用于操作图书的方法,包括添加、删除、更新和搜索图书。
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("请输入正确的选项!");
}
}
}