订餐系统的代码实现

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

}

}

相关推荐
2301_79230825几秒前
C++与自动驾驶系统
开发语言·c++·算法
hongtianzai4 分钟前
Laravel8.x核心特性全解析
java·c语言·开发语言·golang·php
T06205145 分钟前
【数据集】285个地级市邻接矩阵、经济地理矩阵等8个矩阵数据(2003-2023年)
大数据
2401_874732536 分钟前
模板编译期排序算法
开发语言·c++·算法
逸Y 仙X7 分钟前
文章十一:ElasticSearch Dynamic Template详解
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
weixin_421922698 分钟前
C++与Node.js集成
开发语言·c++·算法
隔壁小邓9 分钟前
IDEA 中同时启动多个微服务
java·微服务·intellij-idea
:1219 分钟前
idea17创建tomcat项目(计网底层核心理解!)
java·ide·intellij-idea
chushiyunen11 分钟前
python cosyVoice实现tts文本转语音、音频(未完成)
开发语言·python·音视频
hongtianzai11 分钟前
Laravel6.x重磅发布:LTS版本新特性全解析
c语言·开发语言·php·laravel