Java实现餐馆点餐小程序
1. 简介
餐馆点餐小程序是一种方便顾客在餐馆中进行点餐的工具。它可以通过移动设备或者计算机来提供用户友好的界面,让顾客可以轻松地选择菜品、提交订单和进行支付。本文将介绍如何使用Java编程语言实现一个简单的餐馆点餐小程序。
2. 程序设计
2.1 功能需求
餐馆点餐小程序应该具备以下功能:
- 展示菜单:顾客可以浏览餐馆的菜单,查看菜品的价格和描述。
- 点击选择:顾客可以通过点击菜品来将其添加到订单中。
- 订单确认:顾客可以查看订单的详细信息,并可以选择提交订单或者继续点餐。
- 支付功能:顾客可以选择支付方式,并进行支付操作。
2.2 程序结构
餐馆点餐小程序可以分为以下几个模块:
- 菜单模块:负责管理餐馆的菜单信息。
- 订单模块:负责管理顾客的订单信息。
- 用户界面模块:负责展示菜单和订单信息,并处理用户交互操作。
- 支付模块:负责处理支付操作。
3. 代码示例
下面是一个简单的Java代码示例,演示如何实现一个餐馆点餐小程序的部分功能。
import java.util.ArrayList;
import java.util.List;
// 菜品类
class Dish {
private String name;
private double price;
private String description;
public Dish(String name, double price, String description) {
this.name = name;
this.price = price;
this.description = description;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
public String getDescription() {
return description;
}
}
// 菜单类
class Menu {
private List<Dish> dishes;
public Menu() {
dishes = new ArrayList<>();
}
public void addDish(Dish dish) {
dishes.add(dish);
}
public List<Dish> getDishes() {
return dishes;
}
}
// 订单类
class Order {
private List<Dish> dishes;
public Order() {
dishes = new ArrayList<>();
}
public void addDish(Dish dish) {
dishes.add(dish);
}
public void removeDish(Dish dish) {
dishes.remove(dish);
}
public List<Dish> getDishes() {
return dishes;
}
public double getTotalPrice() {
double totalPrice = 0;
for (Dish dish : dishes) {
totalPrice += dish.getPrice();
}
return totalPrice;
}
}
// 用户界面类
class UserInterface {
private Menu menu;
private Order order;
public UserInterface(Menu menu, Order order) {
this.menu = menu;
this.order = order;
}
public void showMenu() {
System.out.println("Menu:");
for (Dish dish : menu.getDishes()) {
System.out.println(dish.getName() + " - " + dish.getPrice());
}
}
public void showOrder() {
System.out.println("Order:");
for (Dish dish : order.getDishes()) {
System.out.println(dish.getName() + " - " + dish.getPrice());
}
System.out.println("Total: " + order.getTotalPrice());
}
public void addToOrder(Dish dish) {
order.addDish(dish);
}
public void removeFromOrder(Dish dish) {
order.removeDish(dish);
}
}
// 主程序
public class RestaurantApp {
public static void main(String[] args) {
// 初始化菜单和订单
Dish dish1 = new Dish("Dish 1", 10.99, "Description for dish 1");
Dish dish2 = new Dish("Dish 2", 15.99, "Description for dish 2");
Menu menu = new Menu();
menu.addDish(dish1);
menu.addDish(dish2);
Order order = new Order();
// 初始化用户界面
UserInterface userInterface = new UserInterface(menu, order);
// 展示菜单
userInterface.showMenu();
// 选择菜品
userInterface.addToOrder(dish1