下面是一个超市积分管理系统的Java实现,包含了详细的实现细节和注释。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class BookstoreManagement {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int option = -1;
// 初始化书籍列表
List<Book> bookList = new ArrayList<>();
bookList.add(new Book("1001", "Java从入门到精通", "张三", "机械工业出版社", 59.9, 100));
bookList.add(new Book("1002", "Python编程入门", "李四", "清华大学出版社", 68.8, 50));
bookList.add(new Book("1003", "算法竞赛入门经典", "王五", "人民邮电出版社", 39.9, 80));
while (option != 0) {
// 打印菜单
System.out.println("请选择操作:");
System.out.println("1. 查看所有书籍");
System.out.println("2. 查找书籍");
System.out.println("3. 添加书籍");
System.out.println("4. 修改书籍库存");
System.out.println("0. 退出");
option = scanner.nextInt();
switch (option) {
case 1: // 查看所有书籍
System.out.println("所有书籍信息:");
for (Book book : bookList) {
System.out.println(book.toString());
}
break;
case 2: // 查找书籍
System.out.println("请输入要查找的书籍名称:");
String name = scanner.next();
boolean found = false;
for (Book book : bookList) {
if (book.getName().equals(name)) {
found = true;
System.out.println(book.toString());
break;
}
}
if (!found) {
System.out.println("未找到 " + name + " 书籍");
}
break;
case 3: // 添加书籍
System.out.println("请输入书籍编号:");
String id = scanner.next();
System.out.println("请输入书籍名称:");
String bookName = scanner.next();
System.out.println("请输入作者名称:");
String author = scanner.next();
System.out.println("请输入出版社名称:");
String publisher = scanner.next();
System.out.println("请输入价格:");
double price = scanner.nextDouble();
System.out.println("请输入库存数量:");
int stock = scanner.nextInt();
Book newBook = new Book(id, bookName, author, publisher, price, stock);
bookList.add(newBook);
System.out.println("成功添加书籍:" + newBook.toString());
break;
case 4: // 修改库存
System.out.println("请输入要修改库存的书籍名称:");
String bookNameToModify = scanner.next();
boolean foundToUpdate = false;
for (Book book : bookList) {
if (book.getName().equals(bookNameToModify)) {
foundToUpdate = true;
System.out.println("请输入新的库存量:");
int newStock = scanner.nextInt();
book.setStock(newStock);
System.out.println("成功修改库存,新的书籍信息:" + book.toString());
break;
}
}
if (!foundToUpdate) {
System.out.println("未找到 " + bookNameToModify + " 书籍");
}
break;
case 0: // 退出
break;
default: // 输入无效选项
System.out.println("请输入有效的选项!");
break;
}
}
}
}
接下来,我们来看一下 Book 类的实现:
public class Book {
private String id; // 书籍编号
private String name; // 书籍名称
private String author; // 作者
private String publisher; // 出版社
private double price; // 价格
private int stock; // 库存量
public Book(String id, String name, String author, String publisher, double price, int stock) {
this.id = id;
this.name = name;
this.author = author;
this.publisher = publisher;
this.price = price;
this.stock = stock;
}
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 String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
this.stock = stock;
}
@Override
public String toString() {
return "编号:" + id + ", 书名:" + name + ", 作者:" + author + ", 出版社:" + publisher + ", 价格:" + price
+ ", 库存:" + stock;
}
}
这个系统可以实现以下功能:
- 查看所有书籍的信息;
- 查找指定书籍的信息;
- 添加新书籍;
- 修改指定书籍的库存量。
尽管这个系统已经很完整,但仍需根据实际情况进行修改,比如添加书籍销售统计、书籍分类等功能。