使用Java代码制作一个瑞吉外卖app
时间: 2024-06-09 19:06:23 浏览: 150
最新java项目-瑞吉外卖
5星 · 资源好评率100%
制作一个完整的瑞吉外卖app需要很长时间,需要设计、开发、测试等多个阶段。在这里,我可以给你提供一个简单的Java代码示例,用于展示如何使用Java语言创建一个简单的外卖app。
首先,你需要创建一个Java项目,然后在项目中创建以下类:
1. User:用于表示用户信息,包括用户名、密码、地址等信息。
```java
public class User {
private String username;
private String password;
private String address;
public User(String username, String password, String address) {
this.username = username;
this.password = password;
this.address = address;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public String getAddress() {
return address;
}
}
```
2. Restaurant:用于表示餐厅信息,包括餐厅名称、菜品、价格等信息。
```java
public class Restaurant {
private String name;
private Map<String, Double> menu;
public Restaurant(String name) {
this.name = name;
this.menu = new HashMap<>();
}
public void addDish(String dish, double price) {
menu.put(dish, price);
}
public String getName() {
return name;
}
public Map<String, Double> getMenu() {
return menu;
}
}
```
3. Order:用于表示订单信息,包括用户、餐厅、菜品、价格等信息。
```java
public class Order {
private User user;
private Restaurant restaurant;
private Map<String, Double> items;
public Order(User user, Restaurant restaurant) {
this.user = user;
this.restaurant = restaurant;
this.items = new HashMap<>();
}
public void addItem(String dish, double price) {
items.put(dish, price);
}
public double getTotalPrice() {
double total = 0;
for (Map.Entry<String, Double> entry : items.entrySet()) {
total += entry.getValue();
}
return total;
}
public User getUser() {
return user;
}
public Restaurant getRestaurant() {
return restaurant;
}
public Map<String, Double> getItems() {
return items;
}
}
```
4. Main:用于控制程序的运行流程,包括用户注册、登录、浏览餐厅、下单等功能。
```java
public class Main {
private static Map<String, User> users = new HashMap<>();
private static List<Restaurant> restaurants = new ArrayList<>();
private static List<Order> orders = new ArrayList<>();
public static void main(String[] args) {
// 注册用户
User user1 = new User("Alice", "123456", "北京市海淀区");
User user2 = new User("Bob", "654321", "北京市朝阳区");
users.put(user1.getUsername(), user1);
users.put(user2.getUsername(), user2);
// 添加餐厅
Restaurant restaurant1 = new Restaurant("麦当劳");
restaurant1.addDish("巨无霸", 18.0);
restaurant1.addDish("薯条", 8.0);
Restaurant restaurant2 = new Restaurant("肯德基");
restaurant2.addDish("炸鸡桶", 28.0);
restaurant2.addDish("薯条", 10.0);
restaurants.add(restaurant1);
restaurants.add(restaurant2);
// 登录用户
User currentUser = login("Alice", "123456");
if (currentUser != null) {
// 浏览餐厅
for (Restaurant restaurant : restaurants) {
System.out.println(restaurant.getName());
for (Map.Entry<String, Double> entry : restaurant.getMenu().entrySet()) {
System.out.println("\t" + entry.getKey() + ":" + entry.getValue() + "元");
}
}
// 下单
Restaurant selectedRestaurant = restaurants.get(0);
Order order = new Order(currentUser, selectedRestaurant);
order.addItem("巨无霸", 18.0);
order.addItem("薯条", 8.0);
orders.add(order);
System.out.println("下单成功!总价:" + order.getTotalPrice() + "元");
}
}
private static User login(String username, String password) {
User user = users.get(username);
if (user != null && user.getPassword().equals(password)) {
return user;
} else {
System.out.println("用户名或密码错误!");
return null;
}
}
}
```
在这个示例中,我们创建了User、Restaurant、Order和Main四个类,分别用于表示用户、餐厅、订单和程序的运行流程。在Main类中,我们注册了两个用户、添加了两个餐厅、登录了一个用户、浏览了餐厅、下了一个订单,并打印出了订单的总价。
当然,这只是一个简单的示例,真正的外卖app需要更多的功能和复杂的实现,比如在线支付、配送、用户评价等等,需要更多的设计和开发工作。
阅读全文