java外卖订餐系统代码
时间: 2024-12-12 19:15:39 浏览: 18
java外卖订餐系统小项目
5星 · 资源好评率100%
以下是一个简单的Java外卖订餐系统的代码示例,包括基本的订单管理、菜单管理和用户管理功能:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
// 菜品类
class Dish {
private String name;
private double price;
public Dish(String name, double price) {
this.name = name;
this.price = price;
}
// Getter方法
public String getName() {
return name;
}
public double getPrice() {
return price;
}
}
// 用户类
class User {
private String username;
private String password;
public User(String username, String password) {
this.username = username;
this.password = password;
}
// Getter方法
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
}
// 订单类
class Order {
private List<Dish> dishes;
private User user;
public Order(User user) {
this.dishes = new ArrayList<>();
this.user = user;
}
// 添加菜品到订单
public void addDish(Dish dish) {
dishes.add(dish);
}
// 计算订单总价
public double calculateTotal() {
double total = 0;
for (Dish dish : dishes) {
total += dish.getPrice();
}
return total;
}
// 显示订单详情
public void displayOrder() {
System.out.println("订单详情:");
for (Dish dish : dishes) {
System.out.println(dish.getName() + " - ¥" + dish.getPrice());
}
System.out.println("总价:¥" + calculateTotal());
}
}
// 主类
public class TakeoutOrderingSystem {
private static List<Dish> menu = new ArrayList<>();
private static List<User> users = new ArrayList<>();
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
initializeMenu();
initializeUsers();
login();
}
// 初始化菜单
private static void initializeMenu() {
menu.add(new Dish("宫保鸡丁", 25.0));
menu.add(new Dish("鱼香肉丝", 20.0));
menu.add(new Dish("麻婆豆腐", 15.0));
menu.add(new Dish("酸辣汤", 10.0));
}
// 初始化用户
private static void initializeUsers() {
users.add(new User("user1", "password1"));
users.add(new User("user2", "password2"));
}
// 用户登录
private static void login() {
System.out.print("请输入用户名:");
String username = scanner.nextLine();
System.out.print("请输入密码:");
String password = scanner.nextLine();
User currentUser = null;
for (User user : users) {
if (user.getUsername().equals(username) && user.getPassword().equals(password)) {
currentUser = user;
break;
}
}
if (currentUser != null) {
System.out.println("登录成功!");
placeOrder(currentUser);
} else {
System.out.println("登录失败!");
}
}
// 下订单
private static void placeOrder(User user) {
Order order = new Order(user);
boolean continueOrdering = true;
while (continueOrdering) {
displayMenu();
System.out.print("请选择菜品编号(输入0完成订单):");
int choice = scanner.nextInt();
scanner.nextLine(); // 清除缓冲区
if (choice == 0) {
continueOrdering = false;
order.displayOrder();
} else if (choice > 0 && choice <= menu.size()) {
order.addDish(menu.get(choice - 1));
System.out.println("已添加 " + menu.get(choice - 1).getName() + " 到订单中。");
} else {
System.out.println("无效的选择,请重试。");
}
}
}
// 显示菜单
private static void displayMenu() {
System.out.println("菜单:");
for (int i = 0; i < menu.size(); i++) {
System.out.println((i + 1) + ". " + menu.get(i).getName() + " - ¥" + menu.get(i).getPrice());
}
}
}
```
这个示例代码实现了一个简单的外卖订餐系统,包括以下功能:
1. 菜单显示:显示所有可供选择的菜品。
2. 用户登录:简单的用户验证。
3. 下订单:用户可以选择菜品并添加到订单中。
4. 订单显示:显示订单详情和总价。
阅读全文