码迷,mamicode.com
首页 > 其他好文 > 详细

吃货联盟订餐系统

时间:2017-08-21 13:24:28      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:用户   cas   主菜单   imp   ase   其他   case   inpu   size   

实现菜单切换:

System.out.println("欢迎使用吃货联盟订单系统");
Scanner input = new Scanner(System.in);
int num=-1//用户输入0返回主菜单,否则退出系统;
bolean isExit=false//标志用户是否退出系统;
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("*******************************************");
System.out.print("请选择:");
int choose=input.nextInt();
 if(!isExit){
System.out.print("输入0返回");
num=input.nextInt();
}else{
break;
}
}while(num==0);

定义一些变量:

 

        String[] cai = { "红烧带鱼", "鱼香肉丝", "时令鲜蔬" };// 菜品
        String[] names = new String[4];// 订餐人
        int[] nums = new int[4];// 份数
        int[] time = new int[4];// 时间
        String[] site = new String[4];// 地址
        String[] state = new String[] { "预定", "预定", "预定", "预定" };// 订单状态
        double[] mond = { 38, 20, 10 };// 单价
        int a = -1;// 输入0返回
        int cd;// 输入菜单错误,重新选择
        double[] b = new double[4];// 总金额
        int[] zan = new int[3];// 点赞
        int i = 0;
        int e = 0;
        int qian;

 

选择1:我要订餐

case 1:
                for (; i < names.length;) {
                    System.out.println("****我要订单****");
                    System.out.println("请输入订单人姓名:");//使用数组记录订单人名称
                    names[i] = bdqn.next();
                    do {
                        System.out.println("序号\t" + "菜单\t" + "单价" + "\t点赞");
                        //利用for循环输出(序号-菜单-单价-点赞)
                        for (int j = 0; j < cai.length; j++) {
                            System.out.println((j + 1) + "\t" + cai[j] + "\t"
                                    + mond[j] + "\t" + zan[j]);
                        }
                        System.out.println("请选择菜单:");
                        cd = bdqn.nextInt();
                        //判断输入的菜单数是否溢出菜单数
                        if (cd > 3 || cd < 1) {
                            System.out.println("没有此菜品!请重新选择:");
                        }
                    } while (cd > 3 || cd < 1);
                    System.out.println("送餐份数:");
                    nums[i] = bdqn.nextInt();
                    do {
                        System.out.println("请输入送餐时间(10至20点):");
                        time[i] = bdqn.nextInt();
                        //判断此时间营不营业
                        if (time[i] > 20 || time[i] < 10) {
                            System.out.println("此时间不营业!请重新输入:");
                        }
                    } while (time[i] > 20 || time[i] < 10);
                    System.out.println("请输入送餐地址:");
                    site[i] = bdqn.next();
                    System.out.println("成功预定!");
                    System.out.println("您订的是:" + cai[i] + nums[i]);
                    System.out.println("送餐时间:" + time[i]);
                    //定义一个变量用来储存送餐费,然后进行判断
                    double song = 0;
                    b[i] = mond[i] * nums[i] + song;
                    if (b[i] < 50) {
                        song = 5;
                    }
                    System.out.println("餐费:" + (b[i] - song) + "元,送餐费:" + song
                            + "元,总计:" + b[i]);
                    break;
                }
                //判断餐袋是否已满,未满再次执行时,录入第二次的订单情况
                if (i >= site.length) {
                    System.out.println("餐袋已满!");
                } else {
                    i++;
                }
                break;

选择2:查看菜袋

    case 2:
                System.out.println("****查看餐袋****");
                System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t送餐地址\t总金额\t订单状态");
                //利用for循环输出(序号-订单人-餐品信息-送餐时间-送餐地址-总金额-订单状态)
                for (int j = 0; j < i; j++) {
                    System.out.println((j + 1) + "\t" + names[j] + "\t"
                            + cai[j] + nums[j] + "份\t" + time[j] + "\t"
                            + site[j] + "\t" + b[j] + "\t" + state[j]);
                }
                break;

选择3:签收订单

case 3:
                System.out.println("****签收订单****");
                do {
                    System.out.println("请输入您要签收的订单:");
                    qian = bdqn.nextInt();
                    //输入要签收的订单,判断订单是否存在和是否已签收,若未签则执行签收
                    if (e == qian) {
                        System.out.println("订单已签收,不能再次签收!");
                    } else if (qian <= i) {
                        System.out.println("签收成功!");
                        state[qian - 1] = "签收";
                        e = qian;
                        break;
                    } else if (qian > i) {
                        System.out.println("没有该订单,请重新输入您要签收的订单:");
                    }
                } while (qian > i);
                break;

选择4:删除订单

case 4:
                System.out.println("***删除订单****");
                System.out.println("请输入您要删除的订单:");
                int c = bdqn.nextInt();
                //输入要删除的订单,并判断是否签收(只有签收成功,才能执行删除,删除时所有关于订餐情况下标-1)
                if (c <= i) {
                    if (state[c - 1].equals("签收")) {
                        for (int j = c - 1; j < i; j++) {
                            if (j + 1 > 3) {// 预防数组溢出
                                break;
                            }
                            names[j] = names[j + 1];
                            cai[j] = cai[j + 1];
                            nums[j] = nums[j + 1];
                            time[j] = time[j + 1];
                            site[j] = site[j + 1];
                            b[j] = b[j + 1];
                            state[j] = state[j + 1];
                        }
                        System.out.println("删除成功!");
                        i--;
                        e = 0;
                    } else {
                        System.out.println("您选择的订单,未签收,不能删除!");
                    }
                } else {
                    System.out.println("没有此订单!");
                }
                break;

选择5:我要点赞

case 5:
                System.out.println("****我要点赞****");
                int l;
                do {
                    System.out.println("请输入您要点赞的菜单:");
                    l = bdqn.nextInt();
                    switch (l) {// 每次选择点赞该商品+1
                    case 1:
                        zan[0]++;
                        System.out.println("点赞成功!");
                        break;
                    case 2:
                        zan[1]++;
                        System.out.println("点赞成功!");
                        break;
                    case 3:
                        zan[2]++;
                        System.out.println("点赞成功!");
                        break;
                    default:
                        System.out.println("无此商品序号!");
                        break;
                    }
                } while (l > cai.length);
                break;

选择6:系统退出

case 6:
                System.out.println("退出系统!");
                break;

选择其他时,显示请重新输入:

default:
                System.out.println("您输入的数字没有相符合的系统,请重新选择:");
                break;

吃货联盟订餐系统:(整过程)

import java.util.Scanner;

public class Foodie {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Scanner bdqn = new Scanner(System.in);
        String[] cai = { "红烧带鱼", "鱼香肉丝", "时令鲜蔬" };// 菜品
        String[] names = new String[4];// 订餐人
        int[] nums = new int[4];// 份数
        int[] time = new int[4];// 时间
        String[] site = new String[4];// 地址
        String[] state = new String[] { "预定", "预定", "预定", "预定" };// 订单状态
        double[] mond = { 38, 20, 10 };// 单价
        int a = -1;// 输入0返回
        int cd;// 输入菜单错误,重新选择
        double[] b = new double[4];// 总金额
        int[] zan = new int[3];// 点赞
        int i = 0;
        int e = 0;
        int qian;
        do {
            System.out.println("\n欢迎使用“吃货联盟订餐系统”");
            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("*******************************************");
            System.out.println("请选择:");
            int choose = bdqn.nextInt();
            switch (choose) {
            case 1:
                for (; i < names.length;) {
                    System.out.println("****我要订单****");
                    System.out.println("请输入订单人姓名:");//使用数组记录订单人名称
                    names[i] = bdqn.next();
                    do {
                        System.out.println("序号\t" + "菜单\t" + "单价" + "\t点赞");
                        //利用for循环输出(序号-菜单-单价-点赞)
                        for (int j = 0; j < cai.length; j++) {
                            System.out.println((j + 1) + "\t" + cai[j] + "\t"
                                    + mond[j] + "\t" + zan[j]);
                        }
                        System.out.println("请选择菜单:");
                        cd = bdqn.nextInt();
                        //判断输入的菜单数是否溢出菜单数
                        if (cd > 3 || cd < 1) {
                            System.out.println("没有此菜品!请重新选择:");
                        }
                    } while (cd > 3 || cd < 1);
                    System.out.println("送餐份数:");
                    nums[i] = bdqn.nextInt();
                    do {
                        System.out.println("请输入送餐时间(10至20点):");
                        time[i] = bdqn.nextInt();
                        //判断此时间营不营业
                        if (time[i] > 20 || time[i] < 10) {
                            System.out.println("此时间不营业!请重新输入:");
                        }
                    } while (time[i] > 20 || time[i] < 10);
                    System.out.println("请输入送餐地址:");
                    site[i] = bdqn.next();
                    System.out.println("成功预定!");
                    System.out.println("您订的是:" + cai[i] + nums[i]);
                    System.out.println("送餐时间:" + time[i]);
                    //定义一个变量用来储存送餐费,然后进行判断
                    double song = 0;
                    b[i] = mond[i] * nums[i] + song;
                    if (b[i] < 50) {
                        song = 5;
                    }
                    System.out.println("餐费:" + (b[i] - song) + "元,送餐费:" + song
                            + "元,总计:" + b[i]);
                    break;
                }
                //判断餐袋是否已满,未满再次执行时,录入第二次的订单情况
                if (i >= site.length) {
                    System.out.println("餐袋已满!");
                } else {
                    i++;
                }
                break;
            case 2:
                System.out.println("****查看餐袋****");
                System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t送餐地址\t总金额\t订单状态");
                //利用for循环输出(序号-订单人-餐品信息-送餐时间-送餐地址-总金额-订单状态)
                for (int j = 0; j < i; j++) {
                    System.out.println((j + 1) + "\t" + names[j] + "\t"
                            + cai[j] + nums[j] + "份\t" + time[j] + "\t"
                            + site[j] + "\t" + b[j] + "\t" + state[j]);
                }
                break;
            case 3:
                System.out.println("****签收订单****");
                do {
                    System.out.println("请输入您要签收的订单:");
                    qian = bdqn.nextInt();
                    //输入要签收的订单,判断订单是否存在和是否已签收,若未签则执行签收
                    if (e == qian) {
                        System.out.println("订单已签收,不能再次签收!");
                    } else if (qian <= i) {
                        System.out.println("签收成功!");
                        state[qian - 1] = "签收";
                        e = qian;
                        break;
                    } else if (qian > i) {
                        System.out.println("没有该订单,请重新输入您要签收的订单:");
                    }
                } while (qian > i);
                break;
            case 4:
                System.out.println("***删除订单****");
                System.out.println("请输入您要删除的订单:");
                int c = bdqn.nextInt();
                //输入要删除的订单,并判断是否签收(只有签收成功,才能执行删除,删除时所有关于订餐情况下标-1)
                if (c <= i) {
                    if (state[c - 1].equals("签收")) {
                        for (int j = c - 1; j < i; j++) {
                            if (j + 1 > 3) {// 预防数组溢出
                                break;
                            }
                            names[j] = names[j + 1];
                            cai[j] = cai[j + 1];
                            nums[j] = nums[j + 1];
                            time[j] = time[j + 1];
                            site[j] = site[j + 1];
                            b[j] = b[j + 1];
                            state[j] = state[j + 1];
                        }
                        System.out.println("删除成功!");
                        i--;
                        e = 0;
                    } else {
                        System.out.println("您选择的订单,未签收,不能删除!");
                    }
                } else {
                    System.out.println("没有此订单!");
                }
                break;
            case 5:
                System.out.println("****我要点赞****");
                int l;
                do {
                    System.out.println("请输入您要点赞的菜单:");
                    l = bdqn.nextInt();
                    switch (l) {// 每次选择点赞该商品+1
                    case 1:
                        zan[0]++;
                        System.out.println("点赞成功!");
                        break;
                    case 2:
                        zan[1]++;
                        System.out.println("点赞成功!");
                        break;
                    case 3:
                        zan[2]++;
                        System.out.println("点赞成功!");
                        break;
                    default:
                        System.out.println("无此商品序号!");
                        break;
                    }
                } while (l > cai.length);
                break;
            case 6:
                System.out.println("退出系统!");
                break;
            default:
                System.out.println("您输入的数字没有相符合的系统,请重新选择:");
                break;

            }
            if (choose == 6) {
                break;
            }
            System.out.println("输入0返回:");
            a = bdqn.nextInt();
        } while (a == 0);
    }
}

 

 

 

 

 

吃货联盟订餐系统

标签:用户   cas   主菜单   imp   ase   其他   case   inpu   size   

原文地址:http://www.cnblogs.com/fl72/p/7403713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!