java简单点菜管理系统代码
时间: 2024-10-09 21:15:30 浏览: 40
创建一个简单的点菜管理系统代码示例涉及到几个关键部分,包括菜单、菜品、订单等实体类以及相关的业务逻辑。这里是一个简化的伪代码版本,实际开发中会结合数据库操作和图形用户界面:
```java
// 菜品类
class Dish {
private String name;
private double price;
// 构造函数,getter和setter方法...
public Dish(String name, double price) {
this.name = name;
this.price = price;
}
}
// 菜单类,存储菜品集合
class Menu {
private List<Dish> dishes;
// 构造函数,添加菜品方法...
public void addDish(Dish dish) {
dishes.add(dish);
}
// 获取所有菜品列表...
public List<Dish> getDishes() {
return dishes;
}
}
// 订单类,用于保存顾客的选择
class Order {
private Map<String, Integer> orderItems;
// 添加菜品到订单,计算总价...
public void addOrderItem(String dishName, int quantity) {
if (orderItems.containsKey(dishName)) {
orderItems.put(dishName, orderItems.get(dishName) + quantity);
} else {
orderItems.put(dishName, quantity);
}
// 总价计算...
}
// 获取订单详情...
public Map<String, Integer> getOrderSummary() {
return orderItems;
}
}
public class Main {
public static void main(String[] args) {
Menu menu = new Menu();
// 初始化菜单...
// 用户选择菜品并下单
Scanner scanner = new Scanner(System.in);
System.out.println("请输入菜品名和数量(输入'q'结束):");
while (true) {
String input = scanner.nextLine();
if ("q".equals(input)) break;
String[] parts = input.split(" ");
menu.addDish(new Dish(parts[0], Double.parseDouble(parts[1])));
Order order = new Order();
order.addOrderItem(parts[0], Integer.parseInt(parts[1]));
}
// 打印订单明细
Map<String, Integer> orderSummary = order.getOrderSummary();
for (Map.Entry<String, Integer> entry : orderSummary.entrySet()) {
System.out.println("菜品:" + entry.getKey() + ", 数量:" + entry.getValue() + ", 价格:" + menu.getDishes().stream()
.filter(d -> d.getName().equals(entry.getKey())).findFirst().get().price);
}
}
}
```
阅读全文