第九章1

  1. package com.myProject.demo;  
  2.   
  3. import java.util.Scanner;  
  4.   
  5.   
  6.   
  7. public class firstProject {  
  8.     public static void main(String[] args) {  
  9.         String[] name = new String[4]; // 保存订餐人姓名  
  10.         String[] dishMegs = new String[] { "红烧带鱼""鱼香肉丝""时令鲜蔬" }; // 保存所选信息,菜品名  
  11.         double[] prices = new double[] { 38.020.010.0 }; // 菜品单价  
  12.         int[] times = new int[4]; // 保存送餐时间  
  13.         String[] addresses = new String[4]; // 保存送餐地址  
  14.         int[] states = new int[4]; // 保存订单状态:0表示已预订,1表示已完成。  
  15.         double[] sumPrices = new double[4]; // 保存订单的总金额  
  16.         int[] praiseNums = new int[3]; // 点赞数  
  17.         System.out.println("欢迎来到“吃货联盟订餐系统”");  
  18.         int num = -1// 初始化用户输入的数值,用户输入0返回主菜单,否则退出系统。  
  19.         boolean isExit = false// 标志用户是否退出系统:true为退出系统。  
  20.         do {  
  21.             System.out.println("**********************************************\n");  
  22.             System.out.println("1、我要订餐\n2、查看餐袋\n3、签收订单\n4、删除订单\n5、我要点赞\n6、退出系统");  
  23.             System.out.println("**********************************************\n");  
  24.             Scanner input = new Scanner(System.in);  
  25.             System.out.print("请选择:");  
  26.             int choose = input.nextInt(); // 记录用户选择的功能编号  
  27.             switch (choose) {  
  28.             case 1:  
  29.                 // 我要订餐  
  30.                 System.out.println("***我要订餐***");  
  31.                 boolean isAdd = false;  
  32.                 for (int i = 0; i < name.length; i++) {  
  33.                     if (name[i] == null) {  
  34.                         System.out.print("请输入订餐人姓名:");  
  35.                         String names = input.next();  
  36.                         System.out.println("序号\t菜名\t单价\t点赞数");  
  37.                         for (int j = 0; j < dishMegs.length; j++) {  
  38.                             String praiseNum = (praiseNums[j]) > 0 ? praiseNums[j] + "赞" : "0";  
  39.                             System.out.println((j + 1) + "\t" + dishMegs[j] + "\t" + prices[j] + "\t" + praiseNum);  
  40.                         }  
  41.                         // 用户点菜  
  42.                         System.out.print("请选择您要点的菜品编号:");  
  43.                         int chooseDish = input.nextInt();  
  44.                         System.out.print("请选择您需要的份数:");  
  45.                         int number = input.nextInt();  
  46.                         String dishMeg = dishMegs[chooseDish - 1] + " " + number + "份";  
  47.                         double sumPrice = prices[chooseDish - 1] * number;  
  48.                         double deliCharge = (sumPrice >= 50) ? 0 : 5;  
  49.                         System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");  
  50.                         int time = input.nextInt();  
  51.                         while (time < 10 || time > 20) {  
  52.                             System.out.println("您的输入有误,请输入10~20间的整数!");  
  53.                             time = input.nextInt();  
  54.                         }  
  55.                         System.out.println("请输入送餐地址:");  
  56.                         String address = input.next();  
  57.                         System.out.println("订餐成功!");  
  58.                         System.out.println("您订的是:" + dishMeg);  
  59.                         System.out.println("送餐时间:" + time + "点");  
  60.                         System.out.println(  
  61.                                 "餐费:" + sumPrice + "元,送餐费" + deliCharge + "元,总计:" + (sumPrice + deliCharge) + "元。");  
  62.                         name[i] = names;  
  63.                         dishMegs[i] = dishMeg;  
  64.                         times[i] = time;  
  65.                         addresses[i] = address;  
  66.                         sumPrices[i] = sumPrice + deliCharge;  
  67.                         break;  
  68.                     }  
  69.                     if (!isAdd) {  
  70.                         System.out.println("对不起,您的餐袋已满!");  
  71.                     }  
  72.   
  73.                 }  
  74.                 break;  
  75.             case 2:  
  76.                 // 查看餐袋  
  77.                 System.out.println("***查看餐袋***");  
  78.                 System.out.println("序号\t订餐人\t餐品信息\t\t送餐日期\t送餐地址\t\t总金额\t订单状态");  
  79.                 for (int i = 0; i < name.length; i++) {  
  80.                     if (name[i] != null) {  
  81.                         String state = (states[i] == 0) ? "已预订" : "已完成";  
  82.                         String date = times[i] + "日";  
  83.                         String sumPrice = sumPrices[i] + "元";  
  84.                         System.out.println((i + 1) + "\t" + name[i] + "\t" + dishMegs[i] + "\t" + date + "\t"  
  85.                                 + addresses[i] + "\t\t" + sumPrice + "\t" + state);  
  86.   
  87.                     }  
  88.                 }  
  89.                 break;  
  90.             case 3:  
  91.                 // 签收订单  
  92.                 System.out.println("***签收订单***");  
  93.                 boolean isSignFind = false// 找到要签收的订单  
  94.                 System.out.print("请选择要签收的订单序号:");  
  95.                 int signOrderId = input.nextInt();  
  96.                 for (int i = 0; i < name.length; i++) {  
  97.                     if (name[i] != null && states[i] == 0 && signOrderId == i + 1) {  
  98.                         states[i] = 1;  
  99.                         System.out.println("订单签收成功!");  
  100.                         isSignFind = true;  
  101.                     } else if (name[i] != null && states[i] == 1 && signOrderId == i + 1) {  
  102.                         System.out.println("您选择的订单已完成签收,不能再次签收!");  
  103.                         isSignFind = true;  
  104.                     }  
  105.                 }  
  106.                 if (isSignFind) {  
  107.                     System.out.println("您选择的订单不存在!");  
  108.                 }  
  109.                 break;  
  110.             case 4:  
  111.                 // 删除订单  
  112.                 System.out.println("***删除订单***");  
  113.                 System.out.print("请输入要删除的订单序号:");  
  114.                 int delid = input.nextInt();  
  115.                 for (int i = 0; i < name.length; i++) {  
  116.                     if (name[i] != null && states[i] == 1) {  
  117.                         name[delid - 1] = name[delid];  
  118.                         dishMegs[delid - 1] = dishMegs[delid];  
  119.                         times[delid - 1] = times[delid];  
  120.                         addresses[delid - 1] = addresses[delid];  
  121.                         states[delid - 1] = states[delid];  
  122.                         sumPrices[delid - 1] = sumPrices[delid];  
  123.   
  124.                         // 最后清零  
  125.                         int index = name.length - 1;  
  126.                         name[index] = null;  
  127.                         dishMegs[index] = null;  
  128.                         times[index] = 0;  
  129.                         addresses[index] = null;  
  130.                         states[index] = 0;  
  131.                         sumPrices[index] = 0;  
  132.                         System.out.println("删除订单成功!");  
  133.                         break;  
  134.                     } else if (name[i] != null && states[i] == 1) {  
  135.                         System.out.println("你的订单未签收,不能删除!");  
  136.                         break;  
  137.                     } else {  
  138.                         System.out.println("你要删除的订单不存在!");  
  139.                     }  
  140.                 }  
  141.                 break;  
  142.             case 5:  
  143.                 // 我要点赞  
  144.                 System.out.println("***我要点赞***");  
  145.                 System.out.println("序号" + "\t" + "菜名" + "\t" + "单价");  
  146.                 for (int i = 0; i < dishMegs.length; i++) {  
  147.                     String price = prices[i] +"元";  
  148.                     String priaiseNum = (praiseNums[i])>0?praiseNums[i] +"赞":"";  
  149.                     System.out.println((i+1)+"\t"+dishMegs[i]+"\t"+price+"\t"+priaiseNum);  
  150.                 }  
  151.                 System.out.print("请选择您要点赞的菜品序号:");  
  152.                 int priaiseNum = input.nextInt();  
  153.                 praiseNums[priaiseNum-1]++;  
  154.                 System.out.println("点赞成功!");  
  155.                 break;  
  156.             case 6:  
  157.                 // 退出系统  
  158.                 isExit = true;  
  159.                 break;  
  160.             default:  
  161.                 System.out.println("对不起,没有这个选项!");  
  162.                 break;  
  163.             }  
  164.             if (isExit == false) {  
  165.                 System.out.print("输入0时返回:");  
  166.                 num = input.nextInt();  
  167.             } else {  
  168.                 System.out.println("欢迎下次再来!");  
  169.                 break;  
  170.             }  
  171.         } while (num == 0);  
  172.     }  
  173. }  

猜你喜欢

转载自blog.csdn.net/qq3144836446/article/details/80235498