订餐系统的代码实现

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();

}

}

相关推荐
雨中飘荡的记忆12 分钟前
ElasticJob分布式调度从入门到实战
java·后端
考虑考虑9 小时前
JDK25模块导入声明
java·后端·java ee
_小马快跑_10 小时前
Java 的 8 大基本数据类型:为何是不可或缺的设计?
java
Re_zero13 小时前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤
java·后端
洋洋技术笔记13 小时前
Spring Boot条件注解详解
java·spring boot
程序员清风1 天前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
皮皮林5511 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
华仔啊2 天前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
武子康2 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
SimonKing2 天前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员