用java编写一个基于控制台的购书系统,实现购书功能。程序输出所有图书的信息, 包括每本书的编号、书名、单价、库存。 顾客购书时,根据提示输人图书编号选购需要的书,并根据提示输人需要购买的书的数量。购买完毕输出顾客的订单信息,包括订单号、订单明细、订单总额。
时间: 2024-10-21 16:05:25 浏览: 34
好的,下面是一个简单的基于控制台的购书系统的伪代码示例,使用Java编写:
```java
import java.util.HashMap;
import java.util.Map;
class Book {
int id;
String title;
double price;
int stock;
// 构造函数、getter和setter省略
public void sell(int quantity) {
if (quantity <= stock) {
stock -= quantity;
System.out.println("成功购买 " + quantity + "本《" + title + "》,当前库存:" + stock);
} else {
System.out.println("库存不足,无法购买全部");
}
}
}
public class ShoppingCart {
private Map<Integer, Book> books = new HashMap<>();
public void loadBooks() {
books.put(1, new Book(1, "书1", 50.0, 20));
books.put(2, new Book(2, "书2", 60.0, 15));
// 更多书籍数据...
for (Book book : books.values()) {
System.out.println("编号:" + book.id + ", 书名:" + book.title + ", 单价:" + book.price + ", 库存:" + book.stock);
}
}
public void makeOrder(int bookId, int quantity) {
Book selectedBook = books.get(bookId);
if (selectedBook != null) {
selectedBook.sell(quantity);
double total = selectedBook.price * quantity;
System.out.println("订单号:自动生成,订单详情:" + selectedBook.title + " x " + quantity + ", 订单总额:" + total);
} else {
System.out.println("未找到该书");
}
}
}
public class Main {
public static void main(String[] args) {
ShoppingCart cart = new ShoppingCart();
cart.loadBooks();
while (true) {
System.out.println("请输入要购买的图书编号(输入q退出):");
String input = Scanner.nextLine();
if ("q".equals(input)) break;
System.out.println("请输入需要购买的数量:");
int quantity = Scanner.nextInt();
cart.makeOrder(Integer.parseInt(input), quantity);
}
}
}
```
在这个示例中,我们首先创建了Book类表示每一本书,然后在ShoppingCart类中管理书籍数据并提供购书操作。在主函数`main`中,用户可以选择书籍并输入购买数量。
阅读全文