博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
吃货联盟订餐系统(二)
阅读量:4322 次
发布时间:2019-06-06

本文共 7163 字,大约阅读时间需要 23 分钟。

---恢复内容开始---

 

1 import java.util.Scanner;  2   3 /**  4  * 菜单  5  * @author 99573  6  *  7  */  8 public class Muen {
    //第一步先实例化两个初始化订餐的对象,以及声明一个成员变量的编号 9 Scanner sc = new Scanner(System.in); 10 OrderingSet a = new OrderingSet(); 11 OrderingUtil b = new OrderingUtil(); 12 int bianhao; 13 /** 14 * 初始化变量 15 */ 16 public void ini(){ 17 a.ini(); 18 b.ini(); 19 } 20 /** 21 * 返回 上一层代码 22 */ 23 public void re(){ 24 System.out.println("输入0返回上一层"); 25 String isfhui = sc.next(); 26 if (isfhui.equals("0")) { 27 initMuen(); 28 } 29 } 30 public void initMuen(){ 31 System.out.println("欢迎使用”吃货联盟订餐系统“"); 32 System.out.println("*********************************"); 33 System.out.println("1、我要订餐"); 34 System.out.println("2、查看餐袋"); 35 System.out.println("3、签收订单"); 36 System.out.println("4、删除订单"); 37 System.out.println("5、我要点赞"); 38 System.out.println("6、退出系统"); 39 System.out.println("*********************************"); 40 System.out.println("选择:"); 41 bianhao = sc.nextInt(); 42 switch (bianhao) { 43 case 1: 44 orderMuen(); 45 break; 46 case 2: 47 show(); 48 re(); 49 break; 50 case 3: 51 State(); 52 break; 53 case 4: 54 delete(); 55 break; 56 case 5: 57 good(); 58 break; 59 case 6: 60 end(); 61 break; 62 63 default: 64 System.out.println("输入错误!"); 65 initMuen(); 66 break; 67 } 68 } 69 /** 70 * 订餐菜单 71 */ 72 public void orderMuen(){ 73 int index =0; 74 for (int j = 0; j < a.order.length; j++) { 75 if (a.order[j].Number == 0) { 76 index = j; 77 break; 78 } 79 } 80 if(index <4){ 81 82 System.out.println("我要订餐:"); 83 System.out.println("输入订餐人名:"); 84 a.order[index].name = sc.next(); 85 System.out.println("编号\t菜名\t单价\t点赞数"); 86 for (int i = 0; i < b.food.length; i++) { 87 System.out.println((i+1)+"\t"+b.food[i].name+"\t"+b.food[i].money+"\t"+b.food[i].goodNum); 88 System.out.println(); 89 } 90 System.out.println("输入你要定的菜的编号:"); 91 int bianhao = sc.nextInt(); 92 a.order[index].Dishes = b.food[bianhao-1].name; 93 System.out.println("输入份数:"); 94 a.order[index].Number = sc.nextInt(); 95 System.out.println("送餐时间:"); 96 a.order[index].Times = sc.next(); 97 System.out.println("送餐地址:"); 98 a.order[index].addresses = sc.next(); 99 a.order[index].sumPrices =(a.order[index].Number*b.food[bianhao-1].money)>50?a.order[index].Number*b.food[bianhao-1].money:a.order[index].Number*b.food[bianhao-1].money+5;100 System.out.println("订餐成功!本次订餐状态如下:");101 System.out.println("订餐人"+"\t菜品"+"\t份数"+"\t送餐时间"+"\t送餐地点"+"\t送餐总价");102 System.out.println(a.order[index].name+"\t"+a.order[index].Dishes+"\t"+a.order[index].Number+"\t"+a.order[index].Times+"\t"+a.order[index].addresses+"\t"+a.order[index].sumPrices);103 }else{104 System.out.println("餐袋已满!请删除后在进行订餐");105 }106 re();107 }108 /**109 * 显示餐袋110 */111 public void show(){112 for (int i = 0; i < a.order.length; i++) {113 if (a.order[i].name!=null) {114 115 String States = a.order[i].States==1 ? "已签收" : "未签收";116 System.out.printf("%10s%10s%10s%10s%10s%10s%10s%10s\n",(i+1),a.order[i].name,117 a.order[i].Dishes,a.order[i].Number,a.order[i].Times,118 a.order[i].addresses,States,a.order[i].sumPrices);119 System.out.println();120 } else {121 a.index = i;122 break;123 }124 }125 }126 /**127 * 签收128 * @param args129 */130 131 public void State(){132 show();133 System.out.println("输入你要签收的编号:");134 bianhao = sc.nextInt();135 int index = bianhao-1;136 if (a.order[index].name!=null) {137 if (a.order[index].States ==0) {138 a.order[index].States = 1;139 System.out.println("签收成功!");140 }else{141 System.out.println("该订单已签收!请勿重复签收");142 }143 144 } else {145 System.out.println("该订单不存在");146 }147 re();148 }149 /**150 * 删除方法151 */152 153 public void delete(){154 show();155 System.out.println("选择你要删除的订餐编号:");156 bianhao = sc.nextInt();157 if(a.order[bianhao-1].name!=null){158 159 if (a.order[0] != null) {160 if (a.order[bianhao - 1].States == 1) {161 for (int i = bianhao - 1; i < a.index; i++) {162 a.order[i] = a.order[i + 1];163 }164 System.out.println("删除成功!");173 } else {174 System.out.println("只能删除以签收的订单!");175 }176 } else {177 System.out.println("没有可删除的订单!");178 }179 }else{180 System.out.println("未找到要删除的订单!");181 }182 re();183 }184 /**185 * 点赞186 */187 public void good(){188 System.out.println("选择你要点赞的的菜品:");189 System.out.println("\t餐名\t单价\t点赞数");190 for (int i = 0; i < b.food.length; i++) {191 System.out.println((i+1)+"\t"+b.food[i].name+"\t"+b.food[i].money+"\t"+b.food[i].goodNum);192 }193 bianhao =sc.nextInt();194 if (bianhao==1||bianhao==2||bianhao==3) { 195 int index = bianhao-1;196 b.food[index].goodNum++;197 System.out.println("点赞成功");198 }else{199 System.out.println("不存在该菜品,输入错误点赞失败!");200 }201 re();202 }203 /**204 * 退出系统类205 * @param args206 */207 public void end(){208 System.out.println("退出系统,再见!");209 }210 public static void main(String[] args) {211 Muen a = new Muen();212 a.ini();213 a.initMuen();214 }215 216 }

第一步 :运用ini方法进行数据的初始话,否则,餐袋将无 任何数据(主要就是执行两个初始化信息类的初始化方法)

第二步:运用initMuen 来初始化菜单,将六个子菜单显示出来, 用switch选择结构来接受并跳转到子菜单的方法里。

第三步:设置6个具体方法

订餐方法主要的思路是首先设置了一个局部变量index代表下标 接下来遍历整个订餐信息数组,将下标锁定在数据为空的数组对象上,然后进行判断是否大于4个上限,如果不大于上限就进行下面的订餐信息录用否则的话,就提示餐袋已满 。最后执行re方法,(re方法就是封装在initMuen方法上的一个方法,主要作用就是返回到选择菜单上)。

查看餐袋 很简单就是先遍历数组查看数组的信息,然后 将 信息不为空的数组的对象输出出来。里面115行是一个三元表达式,主要判断是否已签收。

签收订单 这个就是把对象的States属性的值改变 ,0为未签收,1为签收,不过首先要遍历下数组,查看具体信息的个数,和判断订单是否签收。签收过的订单不能重复签收。

删除订单 主要思路 将选到的下标对象的下一个对象往前赋值,将原本数据进行前移。

点赞  主要思路就是找到订餐信息的点赞属性,进行不断的累加

退出  就是结束整个程序

 

 

项目需求  :六个功能:订餐 查看餐袋,签收 删除 和退出

订餐不超过4个

 

转载于:https://www.cnblogs.com/sr990411/p/10724909.html

你可能感兴趣的文章
JVM介绍
查看>>
将PHP数组输出为HTML表格
查看>>
Java中的线程Thread方法之---suspend()和resume() 分类: ...
查看>>
经典排序算法回顾:选择排序,快速排序
查看>>
BZOJ2213 [Poi2011]Difference 【乱搞】
查看>>
c# 对加密的MP4文件进行解密
查看>>
AOP面向切面编程C#实例
查看>>
Win form碎知识点
查看>>
避免使用不必要的浮动
查看>>
第一节:ASP.NET开发环境配置
查看>>
sqlserver database常用命令
查看>>
rsync远程同步的基本配置与使用
查看>>
第二天作业
查看>>
访问属性和访问实例变量的区别
查看>>
Spring MVC 异常处理 - SimpleMappingExceptionResolver
查看>>
props 父组件给子组件传递参数
查看>>
【loj6038】「雅礼集训 2017 Day5」远行 树的直径+并查集+LCT
查看>>
十二种获取Spring的上下文环境ApplicationContext的方法
查看>>
UVA 11346 Probability 概率 (连续概率)
查看>>
linux uniq 命令
查看>>