java基础结合面向对象思想,手写吃货联盟小项目

public class Demo2 {
    public static Scanner sc = new Scanner(System.in);
    public static String[] name = new String[4];// 姓名
    public static int[] time = new int[4];// 送餐时间
    public static String[] addess = new String[4];// 送餐地址
    public static String[] orderMsg = new String[4];// 送餐内容
    public static double[] orderPrices = new double[4];// 订餐的总价
    public static String[] dishNames = { "万三肘子", "佛跳墙", "新疆烤全羊" };// 菜单
    public static int[] price = { 88, 880, 812 };// 菜价
    public static int[] prize = { 12, 34, 812 };// 点赞数
    public static int[] status = new int[4];// 订单状态

    public static void main(String[] args) {
        name[0] = "张飞";
        orderMsg[0] = "万三肘子一份";
        time[0] = 11;
        addess[0] = "工大";
        orderPrices[0] = 88;
        status[0] = 0;
        name[1] = "张三";
        orderMsg[1] = "佛跳墙一份";
        time[1] = 12;
        addess[1] = "北大青鸟";
        price[1] = 880;
        status[1] = 0;
        System.out.println("***欢迎使用吃货联盟系统***");
        to: do {
            System.out.println("*************************************");
            System.out.println("\t1:我要订餐");
            System.out.println("\t2:查看餐袋");
            System.out.println("\t3:签收订单");
            System.out.println("\t4:删除订单");
            System.out.println("\t5:我要点赞");
            System.out.println("\t6:退出系统");
            System.out.println("*************************************");
            int num = inputIntNum(1, 6);
            switch (num) {
            case 1: {
                function1();
                break;
            }
            case 2: {
                function2();
                break;
            }
            case 3: {
                function3();
                break;
            }
            case 4: {
                function4();
                break;
            }
            case 5: {
                function5();
                break;
            }
            case 6: {
                System.out.println("退出系统");
                break to;
            }
            }
        } while (true);
        System.out.println("欢迎下次光临");
    }

    public static boolean function1() {
        boolean isFull = false;
        do {
            isFull = false;
            for (String i : name) {
                if (i == null) {
                    isFull = true;
                    break;
                }
            }
            if (!isFull) {
                System.out.println("餐袋已满");
                return isFull;
            }
            System.out.println("我要订餐");
            System.out.println("*********菜品信息**********");
            System.out.println("序号\t名称\t价格\t点赞");
            for (int i = 0; i < dishNames.length; i++) {
                System.out.println((i + 1) + "\t" + dishNames[i] + "\t" + price[i] + "\t" + prize[i]);
            }
            System.out.println("**************");
            int index = inputIntNum(1, 3);
            int dishNum = inputIntNum(1, 5);
            String msg = dishNames[index - 1] + "," + dishNum + "份";
            System.out.println("输入订餐人姓名:");
            String orderName = sc.next();
            System.out.println("输入订餐地址:");
            String orderAdd = sc.next();
            System.out.println("输入送餐地址:");
            int orderTime = sc.nextInt();
            double rate = (price[index - 1] * dishNum > 50) ? 0 : 5;
            double orderPrice = price[index - 1] * dishNum + rate;
            System.out.println("订餐信息具体如下:");
            System.out.println("订餐人:+orderName");
            System.out.println("订餐内容:" + msg);
            System.out.println("订餐总价:" + orderPrice);
            System.out.println("送餐费用:" + rate);
            System.out.println("送餐时间:" + time);
            System.out.println("送餐地址:" + orderAdd);
            for (int i = 0; i < name.length; i++) {
                if (name[i] == null) {
                    name[i] = orderName;
                    time[i] = orderTime;
                    orderMsg[i] = msg;
                    addess[i] = orderAdd;
                    orderPrices[i] = orderPrice;
                    System.out.println("订餐成功!");
                    break;
                }
            }
            System.out.println("是否继续订餐(y/n):");
            String ans = sc.next();
            if (!ans.equals("y")) {
                break;
            }
            if (!isFull) {
                break;
            }
        } while (true);
        return isFull;
    }

    public static int inputIntNum(int start, int end) {
        int index = -1;
        do {
            System.out.println("请选择菜单序号:");
            while (!sc.hasNext()) {
                System.out.println("输入整数");
                String sd = sc.next();
            }
            index = sc.nextInt();
            if (index <= end && index >= start) {
                break;
            } else {
                System.out.println("选项必须在" + start + "-" + end + "之间");
            }
        } while (true);
        return index;
    }

    public static int inputIntNum1(int start, int end) {
        int index = -1;
        do {
            System.out.println("输入购买几份:");
            while (!sc.hasNext()) {
                System.out.println("输入整数:");
                String sd = sc.next();
            }
            index = sc.nextInt();
            if (index <= end && index >= start) {
                break;
            } else {
                System.out.println("选项必须在" + start + "-" + end + "之间");
            }
        } while (true);
        return index;
    }

    public static void function2() {
        System.out.println("序号\t姓名\t订餐内容\t\t总价\t送餐时间\t送餐地址\t送餐状态");
        for (int i = 0; i < name.length; i++) {
            if (name[i] != null) {
                String st = "";
                if (status[i] == 0) {
                    st = "未签收";
                } else {
                    st = "已签收";
                }
                System.out.println((i + 1) + "\t");
                System.out.println(name[i] + "\t");
                System.out.println(orderMsg[i] + "\t");
                System.out.println(orderPrices[i] + "\t");
                System.out.println(time[i] + "\t");
                System.out.println(addess[i] + "\t");
            }
        }
    }

    public static void function3() {
        // 判断订单号的范围1-n
        int end = 0;
        for (String s : name) {
            if (s != null) {
                end++;
            }
        }
        int start = 1;
        if (end == 0) {
            System.out.println("没有订单可签收");
            return;
        }
        System.out.println(start + "==>" + end);
        int index = inputIntNum(1, end);
        for (int i = 0; i < name.length; i++) {
            if (name[i] != null && index == (i + 1) && status[i] == 1) {
                System.out.println("此订单已签收");
                continue;
            }
            if (name[i] != null && index == (i + 1) && status[i] == 0) {
                status[i] = 1;
                System.out.println("订单签收成功");
                break;
            }
        }
    }

    private static void function4() {
        int end = 0;
        for (String s : name) {
            if (s != null) {
                end++;
            }
        }
        int start = 1;
        if (end == 0) {
            System.out.println("没有订单可删除");
            return;
        }
        System.out.println(start + "==>" + end);
        int index = inputIntNum(1, end);
        boolean isFind = false;
        for (int i = 0; i < name.length; i++) {
            if (name[i] != null && index == (i + 1) && status[i] == 0) {
                System.out.println("此选项没签收,不可删除");
                continue;
            }
            if (name[i] != null && index == (i + 1) && status[i] == 1) {
                isFind = true;
                break;
            }
        }
        if (isFind) {
            for (int i = index - 1; i < name.length; i++) {
                name[i] = name[i + 1];
                time[i] = time[i + 1];
                addess[i] = addess[i + 1];
                orderMsg[i] = orderMsg[i + 1];
                orderPrices[i] = orderPrices[i + 1];
                status[i] = status[i + 1];
            }
            name[name.length - 1] = null;
            time[time.length - 1] = 0;
            addess[addess.length - 1] = null;
            orderMsg[orderMsg.length - 1] = null;
            orderPrices[orderPrices.length - 1] = 0;
            status[status.length - 1] = 0;
            System.out.println("删除成功");
        }
    }

    private static void function5() {
        System.out.println("*********点赞菜品信息************");
        System.out.println("序号\t名称\t价格\t点赞");
        for (int i = 0; i < dishNames.length; i++) {
            System.out.println((i + 1) + "\t" + dishNames[i] + "\t" + price[i] + "\t" + prize[i]);
        }
        System.out.println("************************************");
        int index = inputIntNum(1, dishNames.length);
        prize[index - 1]++;
        System.out.println("点赞成功");
    }
}
 

猜你喜欢

转载自blog.csdn.net/YF1314520_/article/details/81082525