四个类

1.食物菜单Food类:

菜名,价格,点赞数

String name ;
 int price;
int   praiseNum;

2.订单类Order:

String name; // 订餐人
    Food food;
    int num;// 定了几份
    int time; // 送餐时间
    String address; // 送餐地址
    int state; // 订单状态 0:已预订 1:已完成
    int sumPrice; // 总金额

3.餐厅管理类(操作类)

4.测试类

代码如下:

public class Food {String name ;int price;int   praiseNum;public Food() {}public Food(String name, int price, int praiseNum) {this.name = name;this.price = price;this.praiseNum = praiseNum;}}
//订单
public class Order {String name; // 订餐人Food food;int num;// 定了几份int time; // 送餐时间String address; // 送餐地址int state; // 订单状态 0:已预订 1:已完成int sumPrice; // 总金额public Order(String name, Food food, int num, int time, String address,int state, int sumPrice) {super();this.name = name;this.food = food;this.num = num;this.time = time;this.address = address;this.state = state;this.sumPrice = sumPrice;}public Order() {super();}}
import java.util.ArrayList;
import java.util.Scanner;public class DiningRoom {//菜单是餐厅的属性ArrayList<Food> foods = new ArrayList<Food>();ArrayList<Order> orders = new ArrayList<Order>();public int orderNum;//表示 该餐厅 目前的订单数量Scanner input = new Scanner(System.in);//使用 构造代码块 给餐厅 foods 初始化{Food f1 = new Food("红烧带鱼", 38, 0);Food f2 = new Food("鱼香肉丝", 20, 0);Food f3 = new Food("时令蔬菜", 10, 0);foods.add(f1);foods.add(f2);foods.add(f3);}{Food food = foods.get(0);Food food1 = foods.get(1);orders.add(new Order("苏雨", food, 2, 3, "安徽", 1, food.price*2));orders.add( new Order("苏雨", food1, 1, 4, "安徽", 1, food.price*1));
//      orderNum=2;}//显示菜单public int start(){System.out.println("*********************************");System.out.println("1.我要订餐");System.out.println("2.查看餐袋");System.out.println("3.签收订单");System.out.println("4.删除订单");System.out.println("5.我要点赞");System.out.println("6.退出系统");System.out.println("*********************************");System.out.print("请选择:");int in = input.nextInt();return in;}//根据 用户的选择,分发到具体的功能部门public void choose(int in){
//      boolean flag=false;switch(in){case 1://我要订餐System.out.println("\n******我要订餐***********");//调用 执行 点餐功能方法chooseFood();break;case 2:System.out.println("\n******查看餐袋***********");eachOrders();break;case 3:System.out.println("\n******签收订单***********");receive();break;case 4:System.out.println("\n******删除订单***********");deleteOrder();break;case 5:System.out.println("\n******我要点赞***********");praise();break;case 6:
//              flag = true;default:System.out.println("程序结束");System.exit(0);
//              flag = true;break;}}//我要订餐public Order chooseFood(){eachFoods();}System.out.print("请输入要选择的菜品:");int index = input.nextInt();//客服选择的菜品为Food food = foods.get(index-1);System.out.println("你选择 的菜品为:"+food.name);System.out.print("请输入,你要订餐的份数:");int sum = input.nextInt();//输入 个人信息 ,用于接收订单System.out.print("请输入您的姓名:");String name = input.next();System.out.print("您希望什么时间送达:");int time = input.nextInt();System.out.print("请输入您的地址:");String address = input.next();//接收所有订单信息,封装为对象//计算总价int sumPrice = food.price*sum;Order order = new Order(name, food, sum, time, address, 0, sumPrice);//餐厅要添加订单orders.add(order);orderNum++;System.out.println("订单已添加,请耐心等待~~");return order;}//是否退出功能public boolean isExit(){System.out.println("是否返回上级菜单(按0 返回)");int i = input.nextInt();return i==0?false : true;}//查看订单(餐袋)public void eachOrders(){System.out.println("序号\t订餐人\t餐品信息\t\t送餐日期\t送餐地址\t\t总金额\t订单状态");for (int i = 0; i < orders.size(); i++) {String states = orders.get(i).state==0?"已预定":"已完成";System.out.println((i+1)+"\t"+orders.get(i).name+"\t"+orders.get(i).food.name+" "+orders.get(i).num+"份"+"\t"+orders.get(i).time+"\t"+orders.get(i).address+"\t         "+orders.get(i).sumPrice+"\t\t"+states);}}//签收功能 接收public void receive(){//先打印餐袋,让用户选择 修改的订单eachOrders();System.out.print("请输入你要修改的订单序号:");int i = input.nextInt();//判断 该订单的状态是否已经完成if(orders.get(i-1).state==1){System.out.println("该订单已经签收成功!");}else{orders.get(i-1).state=1;System.out.println("订单签收成功!");}}//删除订单功能public void deleteOrder(){//1.删除的订单 之后的向前一个位置 eachOrders();System.out.print("请输入你要删除的订单:");int i = input.nextInt();orders.remove(i-1);//2.最后一个 删除
//  3.有效数量orderNum--;System.out.println("订单删除成功!");}//点赞功能public void praise(){//1.看菜单eachFoods();
//      2.点赞哪一道菜System.out.println("请输入你想点赞的菜品:");int i = input.nextInt();
//      3.根据用户输入,修改属性值foods.get(i-1).praiseNum++;eachFoods();}//看菜单public void eachFoods(){// 查看菜单System.out.println("序号\t菜品\t单价\t点赞数");for (int i = 0; i < foods.size(); i++) {System.out.println((i+1)+"\t"+foods.get(i).name+"\t"+foods.get(i).price+"\t"+foods.get(i).praiseNum);}}}
public class Text {public static void main(String[] args) {//创建餐厅对象DiningRoom diningRoom  = new DiningRoom();do{//输出菜单int start = diningRoom.start();//内容分发diningRoom.choose(start);}while(!diningRoom.isExit());}
}

不带电脑看-吃货联盟集合相关推荐

  1. 吃货联盟订餐系统(对象+集合)

    // 菜单信息类 package 对象和集合.吃货联盟订餐系统;public class Food {private String names;//姓名private String disMigs;/ ...

  2. JAVA 集合综合案例 【吃货联盟】

    JAVA集合学习完成 做了一个[吃货联盟]的综合案例, 希望对大家有所帮助 如有BUG也请大佬们多多指正

  3. 看完吃货联盟后——自制的购物乐园

    购物乐园是由我作者本人单独完成的一个项目,制作本次项目的目的是考验自己对基础语法的要求是否达到了自己预期的标.下面的代码包含了吃货联盟之前的很多知识点,可以说这是我学到Java到吃货联盟这一章的课程作 ...

  4. 代码:吃货联盟订餐系统

    package Temporary.cn.kgc;import java.util.Scanner;public class Eater_Alliance {public static void ma ...

  5. “吃货联盟定餐系统”

    "吃货联盟定餐系统"需求说明 现今已进入网络时代,网上购物.看新闻.交友等人们的日常生活已离不开网络."只要点点手指,就能送餐上门",网上定餐越来越受到都市年轻 ...

  6. 小实战项目之——吃货联盟订餐系统

    系统概述: 我要订餐 查看餐袋 签收订单 删除订单 我要点赞 退出系统 下面是实例代码: import java.util.Scanner;public class OrderFoodSys {pub ...

  7. 吃货联盟系统 C++实现

    代码: #include <iostream> #include <string> #include <vector> using namespace std;/* ...

  8. Java吃货联盟订餐系统1.3-面向对象+I/O流

    吃货联盟订餐系统 author:luckyboy! version:1.3 知识储备:变量.数据类型.选择结构.循环结构.数组.面向对象.集合和I/O流 吃货联盟订餐系统概述 现在的互联网时代,足不出 ...

  9. 以吃货联盟初级改版为例,(面向对象初级程序设计模拟网上点餐控制台程序(第一版未使用工具辅助类)。

    面向对象最初级程序设计思维:设计过程与抽象过程,(类是对象的模板与抽象,是具有相同属性和方法的一组对象的集 合,对象是类的实体,由属性与行为共同组成一个具体的实体.) 类与对象的关系:类是对象抽象,对 ...

最新文章

  1. Pycharm中导入requests模块详解
  2. R绘制坡度图(Slope Chart)
  3. ST17H26尽量避免switch语句
  4. python控制画笔尺寸,Python画笔的属性及用法详解
  5. python练习,随机数字 函数,循环,if,格式化输出
  6. 电脑测速软件_联通你我【宽带提速】让网速飞!超实用的宽带测速提速攻略来啦!...
  7. java中paint_java中paint()的具体用法是什么?
  8. his提供哪些服务_品牌战略咨询能为企业提供哪些服务
  9. 手机app系统软件开发报价单及方案:费用明细
  10. 史上最强图标下载,3124个图标专辑,超过60万免费图标提供下载
  11. 层级分类(续)-使用B-CNN(Branch CNN)实现
  12. Adobe发布Flash 10 Player
  13. 蓝桥杯:奇妙的数字(C++)
  14. 涂涂乐的详细实现之一--画笔核心功能
  15. 网站更换国外服务器,备案被注销替换外国服务器?这样合理吗?
  16. 44个路由器知识要点
  17. 网易云--手机QQ的换肤是怎么做到的,你对换肤有了解吗?看过换肤的原理没?
  18. 数据库原理及应用期末复习汇总(附某高校期末真题试卷)
  19. TSN (Time-Sensitive Networking)时间敏感网络
  20. 23神经网络 :唐宇迪《python数据分析与机器学习实战》学习笔记

热门文章

  1. 【u盘提示:驱动器未格式化】如何解决?
  2. 技术分享 | 使用 Zabbix + Grafana 搭建服务器监控系统
  3. 数据库DDL、DML分别是什么
  4. 四川汶川县今天又连发生地震!
  5. Matlab GUI界面表格中数据导出到excel文件带标题
  6. Matlab:FIR滤波器设计和音频信号滤波去噪
  7. 软件测试|测试金字塔是什么,它的目的是什么,以及它包含哪些层次?
  8. 互联网夜高峰,无人应答
  9. python安装以后怎么打开_安装python后如何打开
  10. 经济基础知识(中级)【2】