欢迎来到吃货联盟订餐系统
1.我要订餐
2.查看餐袋
3.签收订单
4.删除订单
5.我要点赞
6.退出系统
代码如下:
package cn.qiu; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class chihuo { public static void main(String[] args) throws Exception { String[] names = new String[6]; // 订餐人姓名 String[] dishMsgs = new String[6];// 选择菜品 int[] numbers = new int[6];// 菜品份数 Date[] dates = new Date[6]; // 送餐时间 String[] times = new String[6]; // 送餐时间对应的String类型的日期 String[] addresses = new String[6];// 送餐地址 int[] states = new int[6];// 订单状态 0:已经预定 1:已经完成 double[] sumPrices = new double[6];// 总金额 names[0] = "邱少"; dishMsgs[0] = "鱼香肉丝"; numbers[0] = 3; dates[0] = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss"); times[0] = sdf.format(dates[0]); addresses[0] = "呵呵"; states[0] = 1; sumPrices[0] = 5000; names[1] = "邱少"; dishMsgs[1] = "红烧带鱼"; numbers[1] = 5; dates[1] = new Date(); times[1] = sdf.format(dates[1]); addresses[1] = "北大青鸟"; states[1] = 0; sumPrices[1] = 500; String[] dishNames = { "红烧肉","宫保鸡丁","鱼香肉丝", "红烧带鱼" }; double[] prices = { 20,12,15,32.5 }; int[] praiseNums = new int[6]; praiseNums[0] = 3; praiseNums[1] = 2; System.out.println("***********欢迎进入吃货联盟点餐系统***********"); Scanner scanner = new Scanner(System.in); int num = -1; boolean isExit = false; do { 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.println("请选择:"); int choose = scanner.nextInt(); switch (choose) { case 1: System.out.println("************我要订餐************"); boolean addFlag = false; for (int i = 0; i < names.length; i++) { if (names[i] == null) { addFlag = true; System.out.println("请输入订餐人的姓名:"); names[i] = scanner.next(); System.out.println("您可以选择下列的菜品:"); System.out.println("序号 菜名 单价 点赞数"); for (int j = 0; j < dishNames.length; j++) { String praiseNum = (praiseNums[j] > 0) ? praiseNums[j] + "个赞" : ""; System.out.println(j + 1 + " " + dishNames[j] + " " + prices[j] + " " + praiseNum); } boolean cidFlag=false; int chooseDishName; do{ System.out.println("请您选择菜品的编号:"); chooseDishName = scanner.nextInt(); if(chooseDishName>4||chooseDishName<0){ System.out.println("请重新输入,无此菜"); cidFlag=true; }else{ cidFlag=false; } }while(cidFlag==true); System.out.println("请您输入点餐的份数:"); int number = scanner.nextInt(); System.out.println("请您输入送餐的地址:"); String address = scanner.next(); System.out.println("请您输入送餐的时间:(时:分:秒)"); String time = scanner.next(); double sumPrice = prices[chooseDishName - 1] * number; double price = (sumPrice > 60) ? 0 : 6; System.out.println("恭喜您订餐成功!"); System.out.println("您定的菜品是:" + dishNames[chooseDishName - 1] + " " + number + "份"); System.out.print("餐费:" + sumPrice); System.out.print(" 送餐费:" + price); System.out.println(" 总费用:" + (price + sumPrice)); times[i] = sdf.format(sdf.parse(time)); addresses[i] = address; sumPrices[i] = (sumPrice + price); dishMsgs[i] = dishNames[chooseDishName - 1]; states[i] = 0; numbers[i] = number; break; } } if (!addFlag) { System.out.println("餐袋已经满了"); } break; case 2: System.out.println("************查看餐袋************"); System.out .println("编号 订餐人 菜品(份数) 送餐时间 送餐地址 总金额 状态 点赞数量"); for (int i = 0; i < names.length; i++) { if (names[i] != null) { String state = (states[i] == 0) ? "未完成" : "已经完成"; // 获取状态 String time = times[i]; String sumPrice = sumPrices[i] + "元"; String address = addresses[i]; String dishMsg = dishMsgs[i]; int count = numbers[i]; System.out.println(i + 1 + " " + names[i] + " " + dishMsg + "(" + count + ")" + " " + time + " " + address + " " + sumPrice + " " + state + " " + praiseNums[i]); } } break; case 3: System.out.println("************签收订单************"); System.out.println("请您输入需要签收的订单编号:"); int sign = scanner.nextInt(); int flag = 0; for (int i = 0; i < names.length; i++) { if (names[i] != null && states[i] == 0) { states[i] = 1; flag = 1; break; } else if (names[i] != null && states[i] == 1) { flag = 2; } } if (flag == 1) { System.out.println("订单已经签收!"); } else if (flag == 2) { System.out.println("订单不需要重复签收!"); } else { System.out.println("没有指定的订单!请您核实!"); } break; case 4: System.out.println("************删除订单************"); System.out.println("请您输入需要删除的订单编号:"); int delNum = scanner.nextInt(); int delFlag = 0; for (int i = 0; i < names.length; i++) { if (names[i] != null && states[delNum - 1] == 1) { for (int j = delNum - 1; j < names.length - 1; j++) { names[j] = names[j + 1]; dishMsgs[j] = dishMsgs[j + 1]; times[j] = times[j + 1]; addresses[j] = addresses[j + 1]; states[j] = states[j + 1]; numbers[j] = numbers[j + 1]; } delFlag = 1; break; } else if (names[i] != null && states[i] == 0) { delFlag = 2; } } if (delFlag == 1) { System.out.println("订单已经被删除"); } else if (delFlag == 2) { System.out.println("订单还没有签收 不允许删除!"); } else { System.out.println("没有找到指定的订单!"); } break; case 5: System.out.println("************我要点赞***************"); System.out.println("编号 菜名 价格"); for (int i = 0; i < dishNames.length; i++) { String price = prices[i] + "元"; String name = dishNames[i]; System.out.println(i + 1 + " " + name + " " + price); } System.out.println("请您输入点赞的菜品编号:"); int chooseNum = scanner.nextInt(); praiseNums[chooseNum - 1]++; System.out.println("谢谢参与!点赞成功!"); break; case 6: isExit = true; break; default: isExit = true; break; } if (!isExit) { System.out.println("输入0返回主菜单!"); num = scanner.nextInt(); } else { break; } System.out.println("输入错误!!!"); } while (num == 0); System.out.println("谢谢您的光临!!!!!"); } }