吃货联盟

欢迎来到吃货联盟订餐系统

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("谢谢您的光临!!!!!");
        }     
}
原文地址:https://www.cnblogs.com/qjt970518--/p/6834324.html