// 菜单信息类

package 对象和集合.吃货联盟订餐系统;public class Food {private String names;//姓名private String disMigs;//菜品private int times;//时间private String addresses;//地址private Double sumPrices;//总金额//订单状态 0 已预定 1已完成private int states;public String getNames() {return names;}public void setNames(String names) {this.names = names;}public String getDisMigs() {return disMigs;}public void setDisMigs(String disMigs) {this.disMigs = disMigs;}public int getTimes() {return times;}public void setTimes(int times) {this.times = times;}public String getAddresses() {return addresses;}public void setAddresses(String addresses) {this.addresses = addresses;}public Double getSumPrices() {return sumPrices;}public void setSumPrices(Double sumPrices) {this.sumPrices = sumPrices;}public int getStates() {return states;}@Overridepublic String toString() {String s=states==0?"未完成":"已完成";return names + '\t' + disMigs + '\t' + times + "点\t"+ addresses + '\t' + sumPrices +"元\t"+ s;}public void setStates(int states) {this.states = states;}public Food(String names, String disMigs, int times, String addresses, Double sumPrices, int states) {this.names = names;this.disMigs = disMigs;this.times = times;this.addresses = addresses;this.sumPrices = sumPrices;this.states = states;}public Food() {}
}

//菜品类

package 对象和集合.吃货联盟订餐系统;public class Order {private String dishNames;//菜品private double prices;//价格private int  praiseNums;//点赞数@Overridepublic String toString() {return dishNames + '\t' + prices + "元\t"+ praiseNums+"赞";}public Order(String dishNames, double prices, int praiseNums) {this.dishNames = dishNames;this.prices = prices;this.praiseNums = praiseNums;}public String getDishNames() {return dishNames;}public void setDishNames(String dishNames) {this.dishNames = dishNames;}public double getPrices() {return prices;}public void setPrices(double prices) {this.prices = prices;}public int getPraiseNums() {return praiseNums;}public void setPraiseNums(int praiseNums) {this.praiseNums = praiseNums;}public Order() {}
}

//功能类 or 业务需求

package 对象和集合.吃货联盟订餐系统;import java.util.List;
import java.util.Scanner;public class Business {public  static Scanner sc = new Scanner(System.in);public static void giveTheThumbsup(List<Order> orders, Scanner sc) {printcanpin(orders);System.out.println("请输入你觉得好吃的菜:");int xuhao2= sc.nextInt();while (xuhao2<1||xuhao2>orders.size()-1){System.out.println("输入错误请重新输入!");xuhao2= sc.nextInt();}orders.get(xuhao2-1).setPraiseNums(orders.get(xuhao2-1).getPraiseNums()+1);System.out.println("点赞成功!!");}public static void delete(List<Food> foods, Scanner sc) {printArrays(foods);boolean falg2=false;System.out.println("请输入你要删除的订单!");int xuhao1= sc.nextInt();while (xuhao1<1||xuhao1>foods.size()){System.out.println("输入有悟请重新输入!");xuhao1= sc.nextInt();}//定义一个值用来记住索引for (int i = 0; i < foods.size(); i++) {if (foods.get(i).getStates()==1&&xuhao1==i+1){foods.remove(i);System.out.println("删除成功!");break;}else if (foods.get(i).getStates()==0&&xuhao1==i+1){System.out.println("该订单未签收不能删除!");break;}}}public static void signFor(List<Food> foods, Scanner sc) {printArrays(foods);boolean falg1=false;System.out.println("请输入你要签收的订单!");int xuhao= sc.nextInt();//定义一个值 用来签收订单for (int i = 0; i < foods.size(); i++) {if (foods.get(i).getStates()==1&&xuhao==i+1){falg1=true;System.out.println("该订单已签收!");break;}else if (foods.get(i).getStates()==0&&xuhao==i+1){falg1=true;foods.get(i).setStates(1);System.out.println("签收完成!");break;}}if (!falg1){System.out.println("输入有误!");}}public static void orderaMeal(List<Food> foods, List<Order> orders, Scanner sc) {boolean falg=false;System.out.println("------------------------我要订餐---------------------------");printcanpin(orders);for (int i = 0; i <foods.size() ; i++) {falg=true;System.out.println("请输入你要点的菜品序号:");int xuhao = sc.nextInt();while (xuhao>3||xuhao<1){System.out.println("对不起你输入错误!请重新输入!");xuhao = sc.nextInt();}System.out.println("请输入你要点几份");int number = sc.nextInt();while (number<=0){System.out.println("输入有误!!!");number = sc.nextInt();}//汇总String disMag=orders.get(xuhao).getDishNames()+" "+number+"份";System.out.println("请输入你的姓名");String name= sc.next();System.out.println("请输入你的订餐时间:");int time= sc.nextInt();while (time>20||time<10){System.out.println("对不起不在配送时间请重新输入!");time= sc.nextInt();}System.out.println("请输入你的配送地址!");String address= sc.next();Double Price=orders.get(xuhao-1).getPrices()*number;//配送废Double psf=Price>=50?0.0:6.0;double sumPrice=Price+psf;Food f3=new Food(name,disMag,time,address,sumPrice,0);foods.add(f3);System.out.println("创建成功!");break;}if (!falg){System.out.println("对不起餐袋已满!");}}public static void printcanpin(List<Order> orders) {System.out.println("序号"+"\t餐品名"+"\t单价"+" \t点赞数");for (int i = 0; i < orders.size(); i++) {String rs = orders.get(i).getPraiseNums()+"赞";System.out.println((i+1)+"\t"+ orders.get(i).getDishNames()+"\t"+ orders.get(i).getPrices()+"\t"+rs );}}public static void printArrays(List<Food> foods) {System.out.println("-----------------------------查看餐袋---------------------------------------");System.out.println("序号"+"\t订餐人"+"\t餐品名  份数"+"\t时间"+"\t商品送餐地址"+"\t总金额"+"\t订单状态");for (int i = 0; i < foods.size(); i++) {String rs =foods.get(i).getStates()==0?"未签收":"已签收";System.out.println((i + 1) + "\t" + foods.get(i).getNames()+"\t"+ foods.get(i).getDisMigs()+"\t" +foods.get(i).getTimes()+"\t"+ foods.get(i).getAddresses()+"\t"+ foods.get(i).getSumPrices()+"\t"+ rs);}}
}

//测试类

package 对象和集合.吃货联盟订餐系统;import java.util.*;public class Test {public static final   List<Food> foods = new ArrayList<>();public static final List<Order> orders = new ArrayList<>();public static void main(String[] args) {//定义数组来储存对象//初始化Food f1 = new Food("王小明", "红烧带鱼 2份", 12, "天河路666号", 76.0, 1);Food f2 = new Food("陈大鸿", "凉拌鸡丝 2份", 10, "天河路786号", 22.0, 0);foods.add(f1);foods.add(f2);//初始化Order o1 = new Order("红烧带鱼", 38.0, 0);Order o2 = new Order("小炒肉", 32.0, 0);Order o3 = new Order("凉半鸡丝", 11.0, 0);//定义数组储存orders.add(o1);orders.add(o2);orders.add(o3);int num = -1;Scanner sc = new Scanner(System.in);do {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("请选择(1-6)");int comy = sc.nextInt();if (comy <= 6 && comy >= 1) {switch (comy) {case 1://展示菜品Business.orderaMeal(foods, orders, sc);break;case 2://查看餐袋Business.printArrays(foods);break;case 3://签收订单Business.signFor(foods, sc);break;case 4://删除订单Business.delete(foods, sc);break;case 5://我要点赞Business.giveTheThumbsup(orders, sc);break;case 6:System.out.println("感谢你的光临!!");return;}} else {System.out.println("输入错误!");}System.out.print("输入0返回:");num = sc.nextInt();while (num != 0) {System.out.println("输入0返回:!!!!!!!!!");num = sc.nextInt();}} while (num == 0);}
}

吃货联盟订餐系统(对象+集合)相关推荐

  1. 吃货联盟订餐系统(用对象和数组来写的)

    目录 一.自我介绍 2.吃货联盟订餐系统 1.首先创建一个订单类 2.创建一个餐品类 3.创建一个操作类(作用是添加订单 ,删除订单等操作) 三.未来的发展规划 四.图书管理系统(用数组写的) 一.自 ...

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

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

  3. 吃货联盟订餐系统1.1-面向对象+数组

    吃货联盟订餐系统 author:luckyboy! version:1.1 知识储备:变量.数据类型.选择结构.循环结构.数组和面向对象 吃货联盟订餐系统概述 现在的互联网时代,足不出户只需要动动手指 ...

  4. 吃货联盟订餐系统(对象+数组)

    ⛳️项目需求     (1)现今已经进入网络时代,人们的日常生活已经离不开网络,如网上购物.看新闻.交友等.     (2)"只要点点手指,就能送餐上门",网上订餐越来越受到都市年 ...

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

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

  6. 学习jav的第十六天,吃货联盟订餐系统

    一.前言 诶,不知不觉就两天过去了,昨天没有发布是因为一直在做这个系统,说实话,自己的基础水平还是不够稳定,既然花了两天时间才能写出来,期间也遇到了不少难题,但是都是通过百度的方法解决了! 聊一下这个 ...

  7. 吃货联盟订餐系统(查看餐袋功能实现)

    import java.util.Scanner; //吃货联盟订餐系统 public class OrderFoodSys {     public static void main(String[ ...

  8. 吃货联盟订餐系统全功能(点赞功能实现)

    import java.util.Scanner; //吃货联盟订餐系统 public class OrderFoodSys {     public static void main(String[ ...

  9. Java——吃货联盟订餐系统(基础知识)

    项目需求     (1)现今已经进入网络时代,人们的日常生活已经离不开网络,如网上购物.看新闻.交友等.     (2)"只要点点手指,就能送餐上门",网上订餐越来越受到都市年轻人 ...

最新文章

  1. 生物信息学就是从统计和CS的community里借鉴合适的方法
  2. Linux文件系统中的inode节点详细介绍
  3. php图片等比例压缩,php实现图片上传并等比例压缩
  4. IBM Rational AppScan使用详细说明
  5. Java程序员从笨鸟到菜鸟之(十三)java网络通信编程
  6. 数学基础、机器学习经典算法、统计学习方法,这份机器学习在线手册来帮你...
  7. Java nginx 双向ssl_使用Nginx实现HTTPS双向验证的方法
  8. IT学习--学习不一定要用在现实工作中
  9. linux drbd同步,DRBD数据镜像主备节点同步数据
  10. c++ stack 遍历_五分钟C语言数据结构 之 二叉树后序遍历(非递归很重要)
  11. linux 上 Mysql 快速链接 去掉DNS解析
  12. 图解 MongoDB 地理位置索引的实现原理
  13. 列举5种IE haslayout的属性及其值?
  14. java自学网站,看完不后悔,千万不要做收藏者!!!
  15. 机器学习数据导入方法总结
  16. 百度地图+城市联动实现实时触发查询地址
  17. Java实现“斐波那契数列”的方法(循环,递归,优化递归)
  18. 锂电池电源管理系统设计与实现(单片机)
  19. 为什么开发人员都看不起运维工程师?
  20. 我转行程序员的那一年(六)

热门文章

  1. 在fluent计算时如何设置非稳态时的时间步长
  2. 问题:The ABAP program lines are wider than the internal table.
  3. 带一张阿拉旅游卡,随时出发
  4. Polkadot的Substrate基础链简介
  5. PHP版微信权限验证配置,音频文件下载,FFmpeg转码,上传OSS和删除转存服务器本地文件...
  6. NGUI和UGUI的区别
  7. 安全资讯|SurfingAttack –通过超声波入侵手机
  8. 改进版爬虫 爬取漂亮妹纸图1
  9. 微信小程序自定义组件中获取app实例的值,生命周期与页面的生命周期执行先后顺序
  10. Elasticsearch基础09——search查询API