订餐系统的代码实现

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

}

}

相关推荐
醒过来摸鱼5 分钟前
Java classloader
java·开发语言·python
superman超哥6 分钟前
仓颉语言中元组的使用:深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
sakoba6 分钟前
flink消费pulsar
大数据·flink·pulsar
专注于大数据技术栈7 分钟前
java学习--StringBuilder
java·学习
loosenivy10 分钟前
企业银行账户归属地查询接口如何用Java调用
java·企业银行账户归属地·企业账户查询接口·企业银行账户查询
小鸡吃米…11 分钟前
Python - 继承
开发语言·python
IT 行者32 分钟前
Spring Security 6.x 迁移到 7.0 的完整步骤
java·spring·oauth2
JIngJaneIL35 分钟前
基于java+ vue农产投入线上管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
祁思妙想39 分钟前
Python中的FastAPI框架的设计特点和性能优势
开发语言·python·fastapi
东东的脑洞39 分钟前
【面试突击二】JAVA基础知识-volatile、synchronized与ReentrantLock深度对比
java·面试