用Java编写图书管理后台功能 要求如下:1.支持用户注册与登录 如果登录失败或者注册失败,可以重新登录或注册。要求注册的账号密码不为空。登录三次失败,则关闭系统。 2.登录成功后,支持用户进行图书的增删改查操作 输入1,查询所有数据 输入2,根据id查询单条数据 输入3,新增一条数据,需要管理员录入书名、价格(元),id是唯一主键,支持自增 输入4,管理员录入id、书名、价格(元),如果id在库中不存在,则提示该书不存在,修改失败 输入5,管理员输入id,根据id删除库中对应条目。如果id在库中不存在,则提示该书不存在,删除失败 输入0,退出账号并关闭系统
时间: 2024-03-26 10:40:05 浏览: 11
好的,下面给出Java代码实现:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class BookManagementSystem {
private static final String ADMIN_USERNAME = "admin";
private static final String ADMIN_PASSWORD = "admin123";
private static final int MAX_LOGIN_ATTEMPTS = 3;
private static final List<Book> books = new ArrayList<>();
private static int nextId = 1;
private static int loginAttempts = 0;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 用户注册
System.out.println("欢迎使用图书管理系统,请先注册");
while (true) {
System.out.print("请输入用户名:");
String username = scanner.nextLine().trim();
System.out.print("请输入密码:");
String password = scanner.nextLine().trim();
if (username.isEmpty() || password.isEmpty()) {
System.out.println("用户名或密码不能为空,请重新输入");
} else {
System.out.println("注册成功,请登录");
break;
}
}
// 用户登录
while (true) {
System.out.print("请输入用户名:");
String username = scanner.nextLine().trim();
System.out.print("请输入密码:");
String password = scanner.nextLine().trim();
if (username.equals(ADMIN_USERNAME) && password.equals(ADMIN_PASSWORD)) {
System.out.println("登录成功");
break;
} else {
System.out.println("用户名或密码错误,请重新输入");
loginAttempts++;
if (loginAttempts >= MAX_LOGIN_ATTEMPTS) {
System.out.println("登录失败次数过多,系统即将关闭");
System.exit(0);
}
}
}
// 用户操作
while (true) {
System.out.println("请输入操作编号:");
System.out.println("1. 查询所有数据");
System.out.println("2. 根据id查询单条数据");
System.out.println("3. 新增一条数据");
System.out.println("4. 修改一条数据");
System.out.println("5. 删除一条数据");
System.out.println("0. 退出账号并关闭系统");
String input = scanner.nextLine().trim();
switch (input) {
case "1":
findAllBooks();
break;
case "2":
findBookById();
break;
case "3":
addBook();
break;
case "4":
updateBook();
break;
case "5":
deleteBook();
break;
case "0":
System.out.println("退出账号成功,系统已关闭");
System.exit(0);
default:
System.out.println("操作编号不正确,请重新输入");
}
}
}
private static void findAllBooks() {
if (books.isEmpty()) {
System.out.println("图书库为空");
} else {
System.out.println("所有图书信息如下:");
for (Book book : books) {
System.out.println(book);
}
}
}
private static void findBookById() {
System.out.print("请输入要查询的图书id:");
int id = new Scanner(System.in).nextInt();
for (Book book : books) {
if (book.getId() == id) {
System.out.println("查询结果如下:");
System.out.println(book);
return;
}
}
System.out.println("该图书不存在");
}
private static void addBook() {
System.out.print("请输入书名:");
String name = new Scanner(System.in).nextLine().trim();
System.out.print("请输入价格:");
float price = new Scanner(System.in).nextFloat();
Book book = new Book(nextId++, name, price);
books.add(book);
System.out.println("新增图书成功,图书信息如下:");
System.out.println(book);
}
private static void updateBook() {
System.out.print("请输入要修改的图书id:");
int id = new Scanner(System.in).nextInt();
for (Book book : books) {
if (book.getId() == id) {
System.out.print("请输入书名:");
String name = new Scanner(System.in).nextLine().trim();
System.out.print("请输入价格:");
float price = new Scanner(System.in).nextFloat();
book.setName(name);
book.setPrice(price);
System.out.println("修改图书成功,图书信息如下:");
System.out.println(book);
return;
}
}
System.out.println("该图书不存在");
}
private static void deleteBook() {
System.out.print("请输入要删除的图书id:");
int id = new Scanner(System.in).nextInt();
for (int i = 0; i < books.size(); i++) {
Book book = books.get(i);
if (book.getId() == id) {
books.remove(i);
System.out.println("删除图书成功,图书信息如下:");
System.out.println(book);
return;
}
}
System.out.println("该图书不存在");
}
}
class Book {
private int id;
private String name;
private float price;
public Book(int id, String name, float price) {
this.id = id;
this.name = name;
this.price = price;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
@Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
", price=" + price +
'}';
}
}
```
注意,上面的代码实现仅供参考,具体实现可能因为需求的变化而不同。