使用Java实现一个点餐系统
时间: 2024-02-06 11:09:08 浏览: 132
好的,我可以为您提供一个简单的点餐系统的Java实现,包括以下功能:
1. 用户选择菜品和数量
2. 计算总价和税费
3. 展示订单详情
这里是一个简单的实现:
```java
import java.util.*;
public class OrderSystem {
private static final double TAX_RATE = 0.07; // 税费率
private static final Map<String, Double> MENU = new HashMap<>() {{
put("汉堡", 10.0);
put("薯条", 7.0);
put("可乐", 5.0);
put("雪碧", 5.0);
}}; // 菜单
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 初始化订单列表
List<OrderItem> orderItems = new ArrayList<>();
while (true) {
// 展示菜单
System.out.println("欢迎光临,请选择要点的菜品:");
for (String item : MENU.keySet()) {
System.out.println("- " + item + "(" + MENU.get(item) + "元)");
}
// 用户输入选择
System.out.print("请输入要点的菜品编号(输入0结算):");
int choice = scanner.nextInt();
if (choice == 0) {
break;
}
String item = null;
switch (choice) {
case 1:
item = "汉堡";
break;
case 2:
item = "薯条";
break;
case 3:
item = "可乐";
break;
case 4:
item = "雪碧";
break;
default:
System.out.println("请输入正确的菜品编号");
continue;
}
// 用户输入数量
System.out.print("请输入数量:");
int count = scanner.nextInt();
// 添加到订单列表
orderItems.add(new OrderItem(item, MENU.get(item), count));
}
// 计算总价和税费
double totalPrice = 0.0;
for (OrderItem item : orderItems) {
totalPrice += item.getPrice() * item.getCount();
}
double tax = totalPrice * TAX_RATE;
double total = totalPrice + tax;
// 展示订单详情
System.out.println("订单详情:");
for (OrderItem item : orderItems) {
System.out.println("- " + item.getName() + " × " + item.getCount() + "(" + item.getPrice() + "元/份)");
}
System.out.println("总价:" + totalPrice + "元");
System.out.println("税费:" + tax + "元");
System.out.println("总计:" + total + "元");
}
}
class OrderItem {
private String name;
private double price;
private int count;
public OrderItem(String name, double price, int count) {
this.name = name;
this.price = price;
this.count = count;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
public int getCount() {
return count;
}
}
```
这个实现只是一个简单的示例,如果需要更完善和复杂的功能,您可以根据具体需求进行扩展。
阅读全文