订餐系统的代码实现

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

}

}

相关推荐
daidaidaiyu2 分钟前
Spring IOC 源码学习 一文学习完整的加载流程
java·spring
SmartRadio14 分钟前
ESP32添加修改蓝牙名称和获取蓝牙连接状态的AT命令-完整UART BLE服务功能后的完整`main.c`代码
c语言·开发语言·c++·esp32·ble
2***d88515 分钟前
SpringBoot 集成 Activiti 7 工作流引擎
java·spring boot·后端
五阿哥永琪15 分钟前
Spring中的定时任务怎么用?
java·后端·spring
gelald27 分钟前
AQS 工具之 CountDownLatch 与 CyclicBarry 学习笔记
java·后端·源码阅读
且去填词27 分钟前
Go 语言的“反叛”——为什么少即是多?
开发语言·后端·面试·go
极海拾贝32 分钟前
GeoScene解决方案中心正式上线!
大数据·人工智能·深度学习·arcgis·信息可视化·语言模型·解决方案
知乎的哥廷根数学学派1 小时前
基于生成对抗U-Net混合架构的隧道衬砌缺陷地质雷达数据智能反演与成像方法(以模拟信号为例,Pytorch)
开发语言·人工智能·pytorch·python·深度学习·机器学习
better_liang1 小时前
每日Java面试场景题知识点之-XXL-JOB分布式任务调度实践
java·spring boot·xxl-job·分布式任务调度·企业级开发
会游泳的石头1 小时前
一行注解防死循环:MyBatis 递归深度限制(无需 level 字段)
java·mybatis