用Java编写图书管理后台功能 要求如下:1.支持用户注册与登录 如果登录失败或者注册失败,可以重新登录或注册。要求注册的账号密码不为空。登录三次失败,则关闭系统。2.登录成功后,支持用户进行图书的增删改查操作 输入1,查询所有数据 输入2,根据id查询单条数据 输入3,新增一条数据,需要管理员录入书名、价格(元),id是唯一主键,支持自增 输入4,管理员录入id、书名、价格(元),如果id在库中不存在,则提示该书不存在,修改失败 输入5,管理员输入id,根据id删除库中对应条目。如果id在库中不存在,则提示该书不存在,删除失败 输入0,退出账号并关闭系统
时间: 2024-03-26 20:40:39 浏览: 13
好的,以下是Java实现图书管理后台的代码示例,您可以根据您的需求进行修改和优化:
```java
import java.util.*;
public class BookManagementSystem {
private static Map<Integer, Book> bookMap = new HashMap<>();
private static Scanner scanner = new Scanner(System.in);
private static int loginTimes = 0;
private static boolean loggedIn = false;
public static void main(String[] args) {
while (true) {
if (loggedIn) {
System.out.println("请选择操作:");
System.out.println("1. 查询所有数据");
System.out.println("2. 根据id查询单条数据");
System.out.println("3. 新增一条数据");
System.out.println("4. 修改一条数据");
System.out.println("5. 根据id删除一条数据");
System.out.println("0. 退出账号并关闭系统");
int choice = scanner.nextInt();
switch (choice) {
case 1:
queryAllData();
break;
case 2:
queryDataById();
break;
case 3:
addData();
break;
case 4:
modifyData();
break;
case 5:
deleteDataById();
break;
case 0:
loggedIn = false;
System.out.println("已退出账号并关闭系统");
return;
default:
System.out.println("无效操作,请重新选择");
break;
}
} else {
System.out.println("请选择操作:");
System.out.println("1. 注册");
System.out.println("2. 登录");
int choice = scanner.nextInt();
switch (choice) {
case 1:
register();
break;
case 2:
login();
break;
default:
System.out.println("无效操作,请重新选择");
break;
}
}
}
}
private static void register() {
System.out.println("请输入账号:");
String username = scanner.next();
System.out.println("请输入密码:");
String password = scanner.next();
if (username.isEmpty() || password.isEmpty()) {
System.out.println("账号或密码不能为空");
return;
}
System.out.println("注册成功,请登录");
}
private static void login() {
System.out.println("请输入账号:");
String username = scanner.next();
System.out.println("请输入密码:");
String password = scanner.next();
if (username.isEmpty() || password.isEmpty()) {
System.out.println("账号或密码不能为空");
return;
}
if (loginTimes >= 3) {
System.out.println("登录失败次数过多,系统已关闭");
System.exit(0);
}
loggedIn = true;
loginTimes = 0;
System.out.println("登录成功");
}
private static void queryAllData() {
for (Book book : bookMap.values()) {
System.out.println(book.toString());
}
}
private static void queryDataById() {
System.out.println("请输入id:");
int id = scanner.nextInt();
Book book = bookMap.get(id);
if (book == null) {
System.out.println("该书不存在");
return;
}
System.out.println(book.toString());
}
private static void addData() {
System.out.println("请输入书名:");
String name = scanner.next();
System.out.println("请输入价格:");
double price = scanner.nextDouble();
int id = bookMap.size() + 1;
Book book = new Book(id, name, price);
bookMap.put(id, book);
System.out.println("新增成功");
}
private static void modifyData() {
System.out.println("请输入id:");
int id = scanner.nextInt();
Book book = bookMap.get(id);
if (book == null) {
System.out.println("该书不存在");
return;
}
System.out.println("请输入书名:");
String name = scanner.next();
System.out.println("请输入价格:");
double price = scanner.nextDouble();
book.setName(name);
book.setPrice(price);
System.out.println("修改成功");
}
private static void deleteDataById() {
System.out.println("请输入id:");
int id = scanner.nextInt();
if (!bookMap.containsKey(id)) {
System.out.println("该书不存在");
return;
}
bookMap.remove(id);
System.out.println("删除成功");
}
}
class Book {
private int id;
private String name;
private double price;
public Book(int id, String name, double price) {
this.id = id;
this.name = name;
this.price = price;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
public void setName(String name) {
this.name = name;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\'' +
", price=" + price +
'}';
}
}
```
请注意,这只是一个简单的示例,您需要根据实际需求进行修改和完善。另外,代码中没有涉及到数据库操作,您需要自己根据需要进行实现。