订餐系统的代码实现

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

class Meal {

String name;

double price;

public Meal(String name, double price) {

this.name = name;

this.price = price;

}

}

class Order {

List<Meal> meals;

public Order() {

this.meals = new ArrayList<>();

}

public void addMeal(Meal meal) {

meals.add(meal);

}

public double getTotalPrice() {

double total = 0;

for (Meal meal : meals) {

total += meal.price;

}

return total;

}

}

public class OnlineOrderingSystem {

public static void main(String\[\] args) {

Scanner scanner = new Scanner(System.in);

Order order = new Order();

List<Meal> menu = new ArrayList<>();

menu.add(new Meal("鱼香肉丝", 25.0));

menu.add(new Meal("宫保鸡丁", 22.0));

menu.add(new Meal("麻婆豆腐", 18.0));

System.out.println("欢迎使用网上订餐系统!");

while (true) {

System.out.println("菜单:");

for (int i = 0; i < menu.size(); i++) {

System.out.println((i + 1) + ". " + menu.get(i).name + " - ¥" + menu.get(i).price);

}

System.out.println("请输入要订购的菜品编号(输入0结束订餐):");

int choice = scanner.nextInt();

if (choice == 0) {

break;

} else if (choice >= 1 && choice <= menu.size()) {

order.addMeal(menu.get(choice - 1));

System.out.println("已添加 " + menu.get(choice - 1).name + " 到订单。");

} else {

System.out.println("输入无效,请重新输入。");

}

}

System.out.println("订单详情:");

for (Meal meal : order.meals) {

System.out.println(meal.name + " - ¥" + meal.price);

}

System.out.println("总价:¥" + order.getTotalPrice());

scanner.close();

}

}

相关推荐
devilnumber24 分钟前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南
java·开发语言·算法
asdfg12589632 小时前
JavaBean是什么?怎么理解?有什么用途?
java·开发语言
dsyyyyy11012 小时前
JavaScript变量
开发语言·javascript·ecmascript
z落落3 小时前
C#WinForm 窗体切换与窗体传值(登录跳转案例)+WinForm 窗体传值(从上往下传、从下往上传)
开发语言·windows·c#
allway23 小时前
How to Echo Multiline to a File in Bash [3 Methods]
开发语言·chrome·bash
weixin_462446233 小时前
手把手教你用 Bash 脚本自动更新 /etc/hosts —— 自动绑定网卡 IP 与节点名
开发语言·tcp/ip·bash
一个梦醒了3 小时前
安装git bash选项推荐
开发语言·git·bash
摇滚侠4 小时前
SpringMVC 入门到实战 文件上传 75-77
java·后端·spring·maven·intellij-idea
GIS数据转换器4 小时前
城市排水生命线安全运行监测平台深度解析
java·运维·人工智能·python·安全·数据挖掘·无人机
ct9784 小时前
React 状态管理方案深度对比
开发语言·前端·react