记录第一次写的小java项目,点餐管理系统

package com.company.zsy;

public class uesr {
    int id;
    String name;
    String sex;
    String passwd;
    double balance; //积分
    String borthday = "2000-9-4";
    String adress = "安徽";
    int Point=1000;
    String Power = "普通用户";
//普通用户
    public uesr(int id, String name, String sex, String passwd, double balance) {
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.passwd = passwd;
        this.balance = balance;
    }
    //管理员
    public uesr(int id, String name, String sex, String passwd, double balance,String power) {
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.passwd = passwd;
        this.balance = balance;
        this.Power = power;
    }

}
package com.company.zsy;

import com.company.Day2.Menu;

public class orderHistory {
    int order;//订单号
    carOrder[] menu;
    String state;//订单状态
    double total;

    public orderHistory(int order, String state, double total) {
        this.order = order;
        this.menu = menu;
        this.state = state;
        this.total = total;
    }

    public orderHistory(int order, carOrder[] menu, String state, double total) {
        this.order = order;
        this.menu = menu;
        this.state = state;
        this.total = total;
    }
}
package com.company.zsy;

public class myMenu {
    int id;
    String name;
    double price;
    int count;

    public myMenu() {
    }

    public myMenu(int id, String name, double price, int count) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.count = count;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }
}
package com.company.zsy;

public class carOrder {
    int id;
    String name;
    double price;
    int count;

    public carOrder(int id, String name, double price, int count) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.count = count;
    }
}
package com.company.zsy;

import com.company.Day2.Menu;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

import java.util.Scanner;


//连续点餐
//添加:我的主页
//添加功能:未支付订单不允许退出


public class eatSystem {
    public static void main(String[] args) {
        ///全系统数据
        myMenu myMenu1 = new myMenu(001, "红烧肉", 29.5,0);
        myMenu myMenu2 = new myMenu(002, "炒青菜", 15.5,0);
        myMenu myMenu3 = new myMenu(003, "酱牛肉", 59,0);
        myMenu myMenu4 = new myMenu(004, "红烧猪蹄", 49.5,0);
        myMenu myMenu5 = new myMenu(005, "辣椒土豆", 13,0);
        myMenu myMenu6 = new myMenu(006, "鱼香肉丝", 25.5,0);
        myMenu[] myMenus = new myMenu[20];
        myMenus[0]=myMenu1;
        myMenus[1]=myMenu2;
        myMenus[2]=myMenu3;
        myMenus[3]=myMenu4;
        myMenus[4]=myMenu5;
        myMenus[5]=myMenu6;

        uesr[] users = new uesr[20];
        //默认用户
        users=initUser();


        /
        mainPage(myMenus,users);//系统开始函数
//        uesr user1 = new uesr(1, "张三", "男","123",0);
//        uesr user2 = new uesr(101, "张三", "男","123",0,"管理员");

//        mainMenu(myMenus,user2);

    }
    public static void mainPage(myMenu[] myMenus,uesr[] uus){
        //主界面

        System.out.println("------------欢迎来到点餐系统------------");
        Scanner scanner = new Scanner(System.in);
        System.out.println("你可以选择如下的操作:");
        while (true){
            System.out.println("1、登录\t2、注册\t3、退出");
            int i = scanner.nextInt();
            switch (i){
                case 1 :
                    //登录
                    login(myMenus,uus);
                    break;
                case 2 :
                    //注册
                    uus=enroll(uus);
                    break;
                case 3 :
                    //退出
                    System.exit(1);
                    break;
                default:
                    //输入错误
                    System.out.println("输入错误!请重新输入!");
                    break;
            }

        }

    }
    public static uesr[] initUser(){
        //初始默认用户张三
        uesr user1 = new uesr(1, "张三", "男","123",0);
        uesr user2 = new uesr(101, "张三", "男","123",0,"管理员");

        uesr[] uesrs = new uesr[5];
        uesrs[0]=user1;
        uesrs[1]=user2;
        return uesrs;

    }
    //登录
    public static void login(myMenu[] myMenus,uesr[] uus){
        Scanner scanner = new Scanner(System.in);
        System.out.println("----------欢迎来到登录界面----------");
        System.out.println("请选择登录方式:1、管理员\t2、普通用户\t3、退出");
        while (true){
            int use = scanner.nextInt();
            if (use==1){
                boolean isFalse = true;
                int n = 3;
                //登录+循环登录+登录失败次数限制
                while (isFalse){
                    System.out.println("请输入你的管理员id:");
                    int id = scanner.nextInt();
                    System.out.println("请输入你的管理员名字:");
                    String str1 = scanner.next();
                    System.out.println("请输入你的管理员密码:");
                    String str2 = scanner.next();
                    for (int i = 0; i < uus.length; i++) {
                        //全部查完才可以下一步
                        if (uus[i]!=null&&str1.equals(uus[i].name)&&str2.equals(uus[i].passwd)&&id==uus[i].id) {
                            System.out.println("登录成功!欢迎您,"+"管理员"+uus[i].name+"先生!\n");
                            mainMenu(myMenus,uus[i],uus);
                            System.exit(1);
                        }
                    }
                    System.out.println("查无此账号!请重新登录:");
                    n--;
                    System.out.println("你还剩下"+n+"次机会!");
                    if (n==0){
                        System.out.println("次数用完,已退出!");
                        System.exit(1);
                    }
                }
            }else if (use==2){
                break;
            }else if (use == 3){
                mainPage(myMenus,uus);
            }
        }
//        uesr[] uesrs = new uesr[5];
//        uesrs=initUser();

        boolean isFalse = true;
        int n = 3;
        //登录+循环登录+登录失败次数限制
       while (isFalse){
           System.out.println("请输入名字:");
           String str1 = scanner.next();
           System.out.println("请输入密码:");
           String str2 = scanner.next();
           for (int i = 0; i < uus.length; i++) {
               //全部查完才可以下一步
               if (uus[i]!=null&&str1.equals(uus[i].name)&&str2.equals(uus[i].passwd)) {
                   System.out.println("登录成功!欢迎您,"+uus[i].name+"同学!\n");
                   mainMenu(myMenus,uus[i],uus);
                   System.exit(1);
               }
           }
           System.out.println("查无此用户!请重新登录:");
           n--;
           System.out.println("你还剩下"+n+"次机会!");
           if (n==0){
               System.out.println("次数用完,已退出!");
               System.exit(1);
           }
       }
    }


    //菜单界面
    public static void mainMenu(myMenu[] myMenus,uesr uu,uesr[] uus){
//        System.out.println("你好"+uu.Power);
        //功能界面+循环功能
        Scanner scanner = new Scanner(System.in);
        orderHistory orderHistory = new orderHistory(0,"未支付",0);//记录
        orderHistory[] orderHistories = new orderHistory[10];

        while (true){
            System.out.println("-----------欢迎来到点餐界面-------------");
            System.out.println("请进行如下的操作:");

            if (uu.Power.equals("管理员")){
                System.out.println("1、设置菜单\t2、设置用户权限\t3、我的\t4、退出");
                int i = scanner.nextInt();
                switch (i){
                    case 1 :
                        //设置菜单
                        adminSetMenu(myMenus,uu);
                        break;
                    case 2 :
                        //设置用户权限
                        System.out.println("正在开发此功能!请以后再来!");
                        break;
                    case 3 :
                        //我的
                        setPower(uus);
//                        System.out.println("正在开发此功能!请以后再来!");
                        break;
                    case 4 :
                        //退出
                        System.out.println("欢迎下次选购!");
                        mainPage(myMenus,uus);
                }
            }
            if (uu.Power.equals("普通用户")){
                System.out.println("1、点菜\t2、查看购物车\t3、退款\n" +
                        "4、评价\t5、订单记录\t6、我的\n" +
                        "7、退出");
            }
            int i = scanner.nextInt();
            switch (i){
                case 1 :
                    //点菜
                    order(myMenus,orderHistories,uu);//传入菜单和购物车

                    break;
                case 2 :
                    //查看购物车
                    checkMenu(myMenus,orderHistories,uu);
                    break;
                case 3 :
                    //退款
                    refund(orderHistories,uu);
                    break;
                case 4 :
                    //评价
                    appraise();
                    break;
                case 5 :
                    //订单记录
                    orderHistory(orderHistories);
                    break;
                case 6 :
                    //我的
                    myInformation(uu);
                    break;
                case 7 :
                    //退出

                    System.out.println("欢迎下次选购!");
                    mainPage(myMenus,uus);


                default:
                    System.out.println("输入错误!请重新输入!");
            }
        }


    }
    public static void setPower(uesr[] uus){
        System.out.println("----------------欢迎来到权限界面------------------");
        System.out.println("用户打印:");
        for (int i = 0; i < uus.length; i++) {
            if (uus[i]!=null){
                System.out.println(uus[i].id+"\t"+uus[i].sex+"\t"+uus[i].name);
            }
        }
        

    }
    public static void adminSetMenu(myMenu[] myMenus,uesr uu){


        System.out.println("--------------欢迎来到设置界面---------------");
        Scanner scanner = new Scanner(System.in);

        while (true){
            System.out.println("你可以:1、查看菜单\t2、增加菜单\t3、删除菜单\t4、修改菜单\t5、退出");
            int i = scanner.nextInt();
            switch (i){
                case 1 :
                    //查看菜单
                    int x = 0;
                    for (int j = 0; j < myMenus.length; j++) {
                        if (myMenus[j]!=null){
                            x++;
                        }
                    }
                    if (x==0){
                        System.out.println("您的菜单空空如也!");
                       continue;
                    }
                    System.out.println("有如下的菜品:");
                    System.out.println("编号\t名称\t\t\t\t单价");
                    for (int j = 0; j < myMenus.length; j++) {
                       if (myMenus[j]!=null){
                           System.out.println(myMenus[j].getId()+"\t"+myMenus[j].getName()+"\t\t\t"+myMenus[j].getPrice());
                       }
                    }
                    break;
                case 2 :
                    //增加菜单
                    addMenu(myMenus);
                    break;
                case 3 :
                    //删除菜单
                    delMenu(myMenus,uu);
                    break;
                case 4 :
                    //修改菜单
                    reviseMenu(myMenus);
                    break;
                case 5 :
                    //退出
                    return;
                default:

            }

        }

    }
    //修改菜单
    public static void reviseMenu(myMenu[] myMenus){
        int num = 0;
        for (int i = 0; i < myMenus.length; i++) {
            if (myMenus[i]!=null){
                num++;
            }
        }
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入需要修改的id:");
        int id = scanner.nextInt();
        if ( id<=0||id>6){
            System.out.println("输入的id无效");
            return;
        }
        System.out.println("你是要修改(y/n):");
        for (int i = 0; i < myMenus.length; i++) {
            if (myMenus[i]!=null){
                if (myMenus[i].id==id){
                    System.out.println("ID:"+myMenus[i].id+"\t名称:"+myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
                }
            }
        }
        String str = scanner.next();
        if (str.equals("n")){
            System.out.println("未修改!");
            return;
        }
        System.out.println("你可以修改其1、单价\t2、名称");
        int revise = scanner.nextInt();
        if (revise==1){
            System.out.println("输入新单价:");
            double prise = scanner.nextDouble();
            for (int i = 0; i < myMenus.length; i++) {
                if (myMenus[i]!=null){
                    if (myMenus[i].id==id){
                        myMenus[i].price=prise;
                        System.out.println("好的!已修改!" + myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
                        return;
                    }
                }
            }

        }else {
            System.out.println("请输入新名称:");
            String strName = scanner.next();
            boolean isIn = true;
            while (isIn){
                //验证菜是否重名
                for (int i = 0; i < myMenus.length; i++) {
                    if (myMenus[i]!=null){
                        if (myMenus[i].name.equals(strName)){
                            //有重名
                            System.out.println("菜品已在菜单中,您是要修改价格吗?(y/n)");
                            String str2 = scanner.next();
                            if (str2.equals("y")){
                                //改价格
                                System.out.println(myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
                                System.out.println("输入新价格:");
                                double newPrise = scanner.nextDouble();
                                System.out.println("是否修改为:"+newPrise+"元!(y/n");
                                String str5 = scanner.next();
                                if (str5.equals("y")){
                                    myMenus[i].price=newPrise;
                                    System.out.println("好的!已修改!" +
                                            myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
                                    return;
                                }else {
                                    System.out.println("未修改!");
                                    return;
                                }
                            }else {
                                isIn = true;
                                System.out.println("请重新输入菜名:");
                                strName = scanner.next();
                                break;
                            }
                        }else {
                            isIn = false;
                            break;
                        }
                    }
                }

            }

        }


    }
    public static void delMenu(myMenu[] myMenus,uesr uu){
        int num = 0;
        for (int i = 0; i < myMenus.length; i++) {
            if (myMenus[i]!=null){
                num++;
            }
        }
        Scanner scanner = new Scanner(System.in);
        int x = 0;
        for (int i = 0; i < myMenus.length; i++) {
            if (myMenus[i]!=null){
                x++;
            }
        }
        if (x==0){
            System.out.println("您的菜单空空如也!");
            return;
        }
        System.out.println("删除菜单是一种危险行为哟!请慎重操作!");
        System.out.println("您的菜单如下:");
        System.out.println("编号\t名称\t\t\t\t单价");
        for (int j = 0; j < myMenus.length; j++) {
            if (myMenus[j]!=null){
                System.out.println(myMenus[j].getId()+"\t"+myMenus[j].getName()+"\t\t\t"+myMenus[j].getPrice());
            }
        }
        System.out.println("您可以1、删除全部(危险!!!!)\t2、删除部分");
        int del = scanner.nextInt();
        if (del == 1){
            //删除全部
            System.out.println("警告!删除全部菜单是一种危险行为!请认证:");
            boolean isFalse = true;
            int n = 3;
            //登录+循环登录+登录失败次数限制
            while (isFalse){
                System.out.println("请输入你的管理员id:");
                int id = scanner.nextInt();
                System.out.println("请输入你的管理员名字:");
                String str1 = scanner.next();
                System.out.println("请输入你的管理员密码:");
                String str2 = scanner.next();

                    //全部查完才可以下一步
                    if (str1.equals(uu.name)&&str2.equals(uu.passwd)&&id==uu.id) {
                        System.out.print("验证成功!正在删除,请稍等");
                        for(int f =0;f<3;f++){
                            try {
                                Thread.sleep(400); //2000 毫秒,也就是2秒.
                            } catch(InterruptedException ex) {
                                Thread.currentThread().interrupt();
                            }
                            System.out.print(".");
                        }
                        System.out.println("\n");
                        for (int i = 0; i < myMenus.length; i++) {
                            if (myMenus[i]!=null){
                                myMenus[i]=null;
                            }
                        }
                        System.out.println("删除完毕!");
                        return;
                    }

                System.out.println("查无此账号!请重新输入:");
                n--;
                System.out.println("你还剩下"+n+"次机会!");
                if (n==0){
                    System.out.println("次数用完,已退出!");
                    return;
                }
            }

        }else if (del == 2){
            //删除部分
            System.out.println("请输入需要删除的id,回车隔开,0结束");
            int[] arr = new int[20];

//            Scanner scanner = new Scanner(System.in);
            for (int j = 0; j <arr.length ; j++) {
                int a = scanner.nextInt();
                if (a==0){
                    System.out.print("挑选结束!正在删除,请稍等");
                    for(int f =0;f<3;f++){
                        try {
                            Thread.sleep(300); //2000 毫秒,也就是2秒.
                        } catch(InterruptedException ex) {
                            Thread.currentThread().interrupt();
                        }
                        System.out.print(".");
                    }
                    System.out.println("\n");
                    break;
                }
                if (a>num||a<0){
                    System.out.println("没有这个id!");
                    continue;
                }
                arr[j]= a;

            }
            //删除他们
            for (int i = 0; i < arr.length; i++) {
                if (arr[i]!=0){
                    myMenus[arr[i]-1]=null;
                }
            }
            System.out.println("删除完毕!");
            return;

        }
    }

    public static void addMenu(myMenu[] myMenus){
        Scanner scanner = new Scanner(System.in);
        System.out.println("是否需要增加新的菜单(y/n)");
        String str = scanner.next();
        if (str.equals("y")){
            System.out.println("好的,你需要输入菜品名称和单价");
            System.out.println("菜品名称:");
            String strName = scanner.next();
            boolean isIn = true;
            while (isIn){
                //验证菜是否重名
                for (int i = 0; i < myMenus.length; i++) {
                    if (myMenus[i]!=null){
                        if (myMenus[i].name.equals(strName)){
                            //有重名
                            System.out.println("菜品已在菜单中,您是要修改价格吗?(y/n)");
                            String str2 = scanner.next();
                            if (str2.equals("y")){
                                //改价格
                                System.out.println(myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
                                System.out.println("输入新价格:");
                                double newPrise = scanner.nextDouble();
                                System.out.println("是否修改为:"+newPrise+"元!(y/n");
                                String str5 = scanner.next();
                                if (str5.equals("y")){
                                    myMenus[i].price=newPrise;
                                    System.out.println("好的!已修改!" +
                                            myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
                                    return;
                                }else {
                                    System.out.println("未修改!");
                                    return;
                                }
                            }else {
                                isIn = true;
                                System.out.println("请重新输入菜名:");
                               strName = scanner.next();
                                break;
                            }
                        }else {
                            isIn = false;
                            break;
                        }
                    }
                }

            }
            System.out.println("单价:");
            double prise = scanner.nextDouble();
            System.out.println("您是要添加"+strName+"\t单价:"+prise+"吗?(y/n)");
            String str1 = scanner.next();
            if (str1.equals("y")){
                System.out.println("好的!正在添加,请稍等...");
                for (int i = 0; i < myMenus.length; i++) {
                    if (myMenus[i]==null){
                        myMenu myMenu = new myMenu();
                        myMenu.id=i+1;
                        myMenu.name=strName;
                        myMenu.price=prise;
                        myMenu.count=0;
                        myMenus[i]=myMenu;
                        break;
                    }

                }
                System.out.println("添加完毕!");

            }else {
                System.out.println("未添加!");

            }
        }else {
            //不怎加新的菜直接退出
            System.out.println("未添加!");

        }
    }
    //订单记录
    public static void orderHistory(orderHistory[] orderHistories){
        int x= 0;//计订单的个数
        for (int m=0;m<orderHistories.length;m++){
            if (orderHistories[m]!=null){
                x++;
            }
        }
        if (x==0){
            System.out.println("暂时没有订单记录!");
            return;
        }else {
            System.out.println("您有"+x+"份订单记录!");
        }
        for (int i = 0; i < orderHistories.length; i++) {
            if (orderHistories[i]!=null){
                System.out.println("订单编号:"+orderHistories[i].order);
                System.out.println("订单:");
                for (int j = 0; j < orderHistories[i].menu.length; j++) {
                    if (orderHistories[i].menu[j]!=null){
                        System.out.println(orderHistories[i].menu[j].name+"\t\t\t\t\t"+orderHistories[i].menu[j].count+"份");
                    }
                }
                System.out.println("共计:\t"+orderHistories[i].total+"元!");
                System.out.println("订单状态:\t"+orderHistories[i].state);
                System.out.println("\n");


            }
        }
        return;

    }
    //退款
    public static orderHistory[] refund(orderHistory[] orderHistories,uesr uu){
//        System.out.println("暂时不支持退款!");
        //1、已支付才可以退款
        //需要退款理由(给后台管理员审核)
        //退款

        Scanner scanner = new Scanner(System.in);
        int x =0;
        for (int i = 0; i < orderHistories.length; i++) {
            if (orderHistories[i]!=null){
                if (orderHistories[i].state.equals("已支付")){
                    x++;
                }
            }
        }
        if (x==0){
            System.out.println("您暂时没有可以退款的订单哟!");
            return orderHistories;
        }
        System.out.println("您有"+x+"份可以退款的订单!如下:");
        for (int i = 0; i < orderHistories.length; i++) {
            if (orderHistories[i]!=null){
                if (orderHistories[i].state.equals("已支付")){
                    System.out.println("订单编号:"+orderHistories[i].order);
                    System.out.println("订单:");
                    for (int j = 0; j < orderHistories[i].menu.length; j++) {
                        if (orderHistories[i].menu[j]!=null){
                            System.out.println(orderHistories[i].menu[j].name+"\t\t\t\t\t"+orderHistories[i].menu[j].count+"份");
                        }
                    }
                    System.out.println("共计:\t"+orderHistories[i].total+"元!");
                    System.out.println("订单状态:\t"+orderHistories[i].state);
                    System.out.println("\n");
                }
            }
        }
        System.out.println("输入订单id:");
        boolean B = true;
        while (true){
            int id = scanner.nextInt();
            int i =0;
            for ( i=0; i < orderHistories.length; i++) {
                if (orderHistories[i]!=null){
                    if (orderHistories[i].order!=id){
                        B=false;
                    }else {
                        B=true;
                        break;
                    }
                }
            }
            if (B==false){
                System.out.println("输入id有误!");
                continue;
            }
            //退款理由
            System.out.println("您的退款理由是:");
            System.out.println("1、服务态度恶劣\t2、菜品难吃\t3、其他");
            int o = scanner.nextInt();
            if (o==3){
                System.out.println("其他原因:");
                String str = scanner.next();
            }
            System.out.println("我们已反馈你的建议!请稍等");
            for(int f =0;f<3;f++){
                try {
                    Thread.sleep(400); //2000 毫秒,也就是2秒.
                } catch(InterruptedException ex) {
                    Thread.currentThread().interrupt();
                }
                System.out.print(".");
            }
            System.out.println("\n");
            System.out.print("正在退款");
            for(int f =0;f<3;f++){
                try {
                    Thread.sleep(400); //2000 毫秒,也就是2秒.
                } catch(InterruptedException ex) {
                    Thread.currentThread().interrupt();
                }
                System.out.print(".");
            }
            System.out.println("\n");
            System.out.println("退款成功!");
            uu.balance += orderHistories[i].total;
            System.out.println("您有"+orderHistories[i].total+"元已入帐!您的账户余额:"+uu.balance);
            //修改属性
            orderHistories[i].state="已退款";
            return orderHistories;


        }
//        return orderHistories;
    }
    //评价
    public static void appraise(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("--------欢迎来到评价系统----------");
        System.out.println("给我们的服务几颗星(1-5)");
        int server1 = scanner.nextInt();
        System.out.println("给我们的菜品几颗星(1-5)");
        int server2 = scanner.nextInt();
//    System.out.println("给我们的菜品几颗星(1-5)");
//    int server3 = scanner.nextInt();
        System.out.println("如果可以在下方给我们一些意见!");
        String str = scanner.next();
        System.out.println("感谢你的反馈!系统提交中!请稍等...\n\n\n");
        try {
            Thread.sleep(400); //2000 毫秒,也就是2秒.
        } catch(InterruptedException ex) {
            Thread.currentThread().interrupt();
        }
        System.out.println("提交成功!");
        return;


    }
    //查看订单
    public static orderHistory[] checkMenu(myMenu[] myMenus,orderHistory[] orderHistories,uesr uu){
        Scanner scanner = new Scanner(System.in);

        int x= 0;//计订单的个数
        for (int m=0;m<orderHistories.length;m++){
            if (orderHistories[m]!=null){
                x++;
            }
        }
        if (x==0){
            System.out.println("暂时没有订单!");
            return orderHistories;
        }else {
            System.out.println("您有"+x+"份订单记录!");
        }
        for (int i = 0; i < orderHistories.length; i++) {
            if (orderHistories[i]!=null){
                System.out.println("订单编号:"+orderHistories[i].order);
                System.out.println("订单:");
                for (int j = 0; j < orderHistories[i].menu.length; j++) {
                    if (orderHistories[i].menu[j]!=null){
                        System.out.println(orderHistories[i].menu[j].name+"\t\t\t\t\t"+orderHistories[i].menu[j].count+"份");
                    }
                }
                System.out.println("共计:\t"+orderHistories[i].total+"元!");
                System.out.println("订单状态:\t"+orderHistories[i].state);
                System.out.println("\n");


            }
        }

        //
        System.out.println("你可以选择:1、支付订单\t2、取消订单\t3、退出");
        int a = scanner.nextInt();
        while (true){
            if (a==3){
                return orderHistories;
            }else if (a==1){
                break;
            }else if (a==2){
                //取消订单(针对未支付的订单)
                int y=0;
                double allTotal = 0;
                for (int i = 0; i < orderHistories.length; i++) {
                    if (orderHistories[i]!=null){
                        if (orderHistories[i].state.equals("未支付")){
                            y++;
                        }
                    }
                }
                if (y==0){
                    System.out.println("您暂时没有可以取消的订单!");
                    checkMenu(myMenus,orderHistories,uu);
                }
                System.out.println("您有"+y+"份可取消订单!");
                for (int i = 0; i < orderHistories.length; i++) {
                    if (orderHistories[i]!=null){
                        if (orderHistories[i].state.equals("未支付")){
                            System.out.println("订单编号:"+orderHistories[i].order);
                            System.out.println("订单:");
                            for (int j = 0; j < orderHistories[i].menu.length; j++) {
                                if (orderHistories[i].menu[j]!=null){
                                    System.out.println(orderHistories[i].menu[j].name+"\t\t\t\t\t"+orderHistories[i].menu[j].count+"份");
                                }
                            }
                            System.out.println("共计:\t"+orderHistories[i].total+"元!");
                            System.out.println("订单状态:\t"+orderHistories[i].state);
                            System.out.println("\n");
                        }
                    }
                }
                //
                System.out.println("输入需要取消订单的id");
                while (true){
                    int i =0;
                    boolean k = true;
                    int l = scanner.nextInt();
                    for ( i = 0; i < orderHistories.length; i++) {
                        if (orderHistories[i]!=null){
                            if (orderHistories[i].state.equals("未支付")){
                                if (orderHistories[i].order==l){
                                    k = true;
                                    break;
                                }else {
                                    k = true;

                                }
                            }
                        }
                    }
                    if (k == true){
                        System.out.print("正在取消点单!请稍等");
                        for(int f =0;f<3;f++){
                            try {
                                Thread.sleep(400); //2000 毫秒,也就是2秒.
                            } catch(InterruptedException ex) {
                                Thread.currentThread().interrupt();
                            }
                            System.out.print(".");
                        }
                        System.out.println("\n");
                        orderHistories[i].state="已取消";
                        checkMenu(myMenus,orderHistories,uu);


                    }else if (k = false){
                        System.out.println("你输入的id无效!请重新输入:");
                    }
                }

            }else {
                System.out.println("输入错误!请重新输入:");
            }

        }

                /支付
         int y=0;
        double allTotal = 0;
        for (int i = 0; i < orderHistories.length; i++) {
            if (orderHistories[i]!=null){
                if (orderHistories[i].state.equals("未支付")){
                    allTotal += orderHistories[i].total;
                    y++;
                }
            }
        }
        if (y==0){
            System.out.println("您暂时没有需要支付的订单!");
            checkMenu(myMenus,orderHistories,uu);
        }
        System.out.println("你有"+y+"份未支付订单!共计"+allTotal+"是否需要支付!(y/n)");
        String str = scanner.next();

        if (str.equals("y")){
            boolean pay = true;
           while (pay){
               System.out.println("你可以选择:\t1、全部支付\t2、部分支付\t3稍后支付或退出");

               int i = scanner.nextInt();
               if (i==1){
                   int g=0;
                   for (int u = 0; u < orderHistories.length; u++) {
                       if (orderHistories[u]!=null){
                           if (orderHistories[u].state.equals("未支付")){
                               g++;
                           }
                       }
                   }
                   if (g==0){
                       System.out.println("您暂时没有需要支付的订单!");
                       continue;
                   }

                   //全部支付(全部订单)
                   System.out.println("你可以选择:\t1、会员卡支付\t2、其他支付");
                   int n = scanner.nextInt();
                   if (n==1){

                       //会员卡支付
                       while (true){
                           System.out.println("你的账户余额:"+uu.balance+"元!");
                           if (uu.balance<allTotal){
                               System.out.println("余额不足!还需"+(allTotal-uu.balance)+"元!");
                               System.out.println("是否进行充值(y/n)");
                               String str1 = scanner.next();
                               if (str1.equals("y")){
                                   System.out.println("请输入充值金额:");
                                   double num = scanner.nextDouble();
                                   System.out.println("是否充值"+num+"元!(y/n)");
                                   String str2 = scanner.next();
                                   if (str2.equals("y")){
                                       System.out.print("请稍等");
                                       for(int f =0;f<3;f++){
                                           try {
                                               Thread.sleep(500); //2000 毫秒,也就是2秒.
                                           } catch(InterruptedException ex) {
                                               Thread.currentThread().interrupt();
                                           }
                                           System.out.print(".");
                                       }
                                       System.out.println();
                                       uu.balance += num;
                                       System.out.println("充值成功!!");
                                       continue;
                                   }else {
                                       System.out.println("未充值!");

                                   }
                               }else {
                                   break;//跳出while,精选
                               }
                           }else if (uu.balance>=allTotal){
                               //修改状态
                               for (int l = 0; l < orderHistories.length; l++) {
                                   if (orderHistories[l]!=null){
                                       if (orderHistories[l].state.equals("未支付")){
                                           orderHistories[l].state="已支付";
                                       }
                                   }
                               }
                               uu.balance = uu.balance-allTotal;
                               System.out.print("正在付款!请稍等");
                               for(int f =0;f<3;f++){
                                   try {
                                       Thread.sleep(500); //2000 毫秒,也就是2秒.
                                   } catch(InterruptedException ex) {
                                       Thread.currentThread().interrupt();
                                   }
                                   System.out.print(".");
                               }

                               System.out.println("\n支付完毕!账户余额:"+uu.balance);
//                               return orderHistories;

                           }
//                        System.out.println("支付完毕!账户余额:"+uu.balance);
//                        mainMenu(uu);
                           break;
                       }


                   }else if (n==2){
                       //其他支付(微信-支付宝)
                   }
               }else if (i==2){
                   int g=0;
                   for (int u = 0; u < orderHistories.length; u++) {
                       if (orderHistories[u]!=null){
                           if (orderHistories[u].state.equals("未支付")){
                               g++;
                           }
                       }
                   }
                   if (g==0){
                       System.out.println("您暂时没有需要支付的订单!");
                       continue;
                   }
                   //部分支付(支付部分订单)
                   //1、知道有几个订单(id列出来)放入一个暂时的订单数组,2、去选择想要支付的订单()
                   System.out.println("您的待支付订单id如下:");
                   int[] arr = new int[10];//支付订单数组
                   int s = 0;
                   for (int j = 0; j < orderHistories.length; j++) {
                       if (orderHistories[j]!=null){
                           if (orderHistories[j].state.equals("未支付")){
                               System.out.print(orderHistories[j].order+"\t");
                               arr[s]=orderHistories[j].order;
                               s++;
                           }
                       }
                   }
                   //从键盘获取支付id,回车隔开
                   int[] ints = new int[10];
                   System.out.println("请输入想要支付的订单id,回车隔开(-1结束)");
                   for (int p = 0; p <arr.length ; p++) {
                       int w = scanner.nextInt();//获取id
                       if (w==-1){
                           System.out.print("选择结束,正在支付,请稍等");
                           for(int f =0;f<3;f++){
                               try {
                                   Thread.sleep(800); //2000 毫秒,也就是2秒.
                               } catch(InterruptedException ex) {
                                   Thread.currentThread().interrupt();
                               }
                               System.out.print(".");
                           }
                           System.out.println("\n");
                           break;
                       }
                       boolean B=true;
                       for (int l=0;l<arr.length;l++){
                           if (w!=arr[l]){
                                B = false;
                           }else {
                               B=true;
                               break;
                           }
                       }
                       if (B==false){
                           System.out.println("输入id有误!");
                           continue;
                       }
                       ints[p]=w;
                   }
                   //支付开始
                   int m=0;
                   for (int l=0; l<ints.length;l++){
                        if (ints[l]!=0){
                            m++;
                        }
                   }
                   if (m==0){
                       System.out.println("您未选择订单!");
                   }else {
                       System.out.println("您需要支付订单如下:");
                       double sumDouble=0;
                       for (int l = 0; l < ints.length; l++) {
                           for (int p =0;p<orderHistories.length;p++){
                               if (orderHistories[p]!=null && orderHistories[p].order==ints[l]){
                                   System.out.println("订单编号:"+orderHistories[p].order);
                                   System.out.println("订单:");
                                   for (int j = 0; j < orderHistories[p].menu.length; j++) {
                                       if (orderHistories[p].menu[j]!=null){
                                           System.out.println(orderHistories[p].menu[j].name+"\t\t\t\t\t"+orderHistories[p].menu[j].count+"份");
                                       }
                                   }
                                   System.out.println("共计:\t"+orderHistories[p].total+"元!");
                                   System.out.println("订单状态:\t"+orderHistories[p].state);
                                   System.out.println("\n");
                                    sumDouble+=orderHistories[p].total;

                               }
                           }
                       }

                       System.out.println("一个"+m+"份订单!,"+"共计"+sumDouble+"元!是否需要支付!(y/n)");
                       System.out.println("你可以选择:\t1、会员卡支付\t2、其他支付");
                       int n = scanner.nextInt();
                       if (n==1){
                           //会员卡支付
                           while (true){
                               System.out.println("你的账户余额:"+uu.balance);
                               if (uu.balance<allTotal){
                                   System.out.println("余额不足!");
                                   System.out.println("是否进行充值(y/n)");
                                   String str1 = scanner.next();
                                   if (str1.equals("y")){
                                       System.out.println("请输入充值金额:");
                                       double num = scanner.nextDouble();
                                       System.out.println("是否充值"+num+"元!(y/n)");
                                       String str2 = scanner.next();
                                       if (str2.equals("y")){
                                           uu.balance += num;
                                           System.out.println("已充值!");
                                           continue;
                                       }else {
                                           System.out.println("未充值!");

                                       }
                                   }else {
                                       break;//跳出while,精选
                                   }
                               }else if (uu.balance>=allTotal){
                                   //修改状态
                                   for (int l = 0; l < orderHistories.length; l++) {
                                       if (orderHistories[l]!=null){
                                           if (orderHistories[l].state.equals("未支付")){
                                               orderHistories[l].state="已支付";
                                           }
                                       }
                                   }
                                   uu.balance = uu.balance-allTotal;
                                   System.out.println("支付完毕!账户余额:"+uu.balance);
                               return orderHistories;

                               }
//                        System.out.println("支付完毕!账户余额:"+uu.balance);
//                        mainMenu(uu);
                               break;
                           }


                       }else if (n==2){
                           //其他支付(微信-支付宝)
                           System.out.println("暂不支持微信支付宝!");
                           return orderHistories;
                       }

                   }



//                   System.out.println("暂不支持!");

               }else if (i==3){
                   //退出
                   break;
               }

           }


        }else {
            return orderHistories;
        }

    return orderHistories;
    }


    public static orderHistory[] order(myMenu[] myMenus,orderHistory[] orderHistories,uesr uu){
        int num = 0;
        for (int i = 0; i < myMenus.length; i++) {
            if (myMenus[i]!=null){
                num++;
            }
        }
        //点餐
        //升级,一次行点餐
        carOrder[] carOrders = new carOrder[10];//生成购物车
        Scanner scanner = new Scanner(System.in);
        //打印菜单
        System.out.println("有如下的菜品:");
        System.out.println("编号\t名称\t\t\t\t单价");
        for (int i = 0; i < myMenus.length; i++) {
            if (myMenus[i]!=null){
                System.out.println(myMenus[i].getId()+"\t"+myMenus[i].getName()+"\t\t\t"+myMenus[i].getPrice());
            }
        }
        System.out.println("是否需要点餐:(Y/N)");
        String str = scanner.next();
        boolean isFlat = true;
        if (str.equals("Y")||str.equals("y")){

            while (isFlat){
                System.out.println("在下方输入菜品序号并依次回车即可!(0结束):");
                int[] arr = new int[10];

//            Scanner scanner = new Scanner(System.in);
                for (int j = 0; j <arr.length ; j++) {
                    int x = scanner.nextInt();
                    if (x==0){
                        System.out.print("挑选结束!正在加入购物车!");
                        for(int f =0;f<3;f++){
                            try {
                                Thread.sleep(300); //2000 毫秒,也就是2秒.
                            } catch(InterruptedException ex) {
                                Thread.currentThread().interrupt();
                            }
                            System.out.print(".");
                        }
                        System.out.println("\n");
                        break;
                    }
                    if (x>=num||x<0){
                        System.out.println("没有这个菜!");
                        continue;
                    }
                    arr[j]= x;

                }


                //加入购物车
                for (int i = 0; i < arr.length; i++) {
                    if (arr[i]!=0){
                        //查看购物车哟没有这个订单
                        boolean isOld = true;//是不是老菜

                            for (int j = 0; j < carOrders.length; j++) {
                                if (carOrders[j]!=null){
                                    if (carOrders[j].id == arr[i]) {
                                        //老菜+1
                                        carOrders[j].count++;
                                        isOld=false;
                                        break;
                                    }
                                }
                            }
                            //添加新菜
                            if (isOld){
                                for (int j = 0; j < carOrders.length; j++) {
                                    if (carOrders[j]==null){
//                                        carOrder[j]=myMenus[arr[i]-1];
                                        carOrder carOrder = new carOrder(myMenus[arr[i]-1].id,myMenus[arr[i]-1].name,myMenus[arr[i]-1].price,myMenus[arr[i]-1].count);
                                        carOrders[j]=carOrder;
                                        carOrders[j].count++;

//                            System.out.println("已添加:"+carOrder[i].name);
                                        break;

                                     }
                                }
                            }

                        //


                    }else {
                        break;
                    }
                }

                double total=0;
               System.out.println("你的选择的菜品如下:");
                for (int i = 0; i < carOrders.length; i++) {
                    if (carOrders[i]!=null){
                        total+=carOrders[i].price*carOrders[i].count;
                        System.out.println(carOrders[i].name+"\t"+carOrders[i].count+"份");
                    }

                }
                //继续
                System.out.println("是否继续点餐?y/n");
                String goon = scanner.next();
                if (goon.equals("n")){
                    isFlat = false;
                    //加入订单

                    for (int i = 0; i < orderHistories.length; i++) {
                        if (orderHistories[i]==null){
                            orderHistory orderHistory = new orderHistory(i+1,carOrders,"未支付",total);
                            orderHistories[i]=orderHistory;
                            break;
                        }
                    }
                    System.out.println("已退出!");
                    System.out.println("您有新的订单已生成!");
                    return orderHistories;

                }
            }

            }else {
            return orderHistories;
        }
        return orderHistories;

        }


    public static uesr[] enroll(uesr[] uuu){
        //解决返回所有用户问题
        Scanner scanner = new Scanner(System.in);
        uesr[] uesrs = new uesr[5];
        uesrs = uuu;
        boolean isName = true;
        boolean isAddName = true;
        System.out.println("-----------------欢迎来到注册界面----------------");
            while (isAddName){
                System.out.println("请输入用户名:");
                String str1 = scanner.next();
                System.out.println("请输入密码:");
                String str2 = scanner.next();
                int x =0;
                for ( x = 0; x < uesrs.length; x++) {
                    if (uesrs[x]==null){
                        break;
                    }
                    
                }
                uesr uesr = new uesr(x+1,str1,"男",str2,0);
                //判断重名
                for (int i = 0; i < uesrs.length; i++) {
                    if (uesrs[i]!=null){
                        if (uesrs[i].name.equals(str1)){
                            System.out.println("名字已注册!请从新输入:");
                            isName=false;
                            break;
                        }else {
                            isName=true;
                        }

                    }
                }

                if (isName==true){
                    //添加
                    for (int i = 0; i < uesrs.length; i++) {
                        if (uesrs[i]==null){
                            uesrs[i]=uesr;
                            System.out.println("添加成功!");
                            break;
                        }
                    }
                }
                System.out.println("是否继续添加(y/n)");
                String str3 = scanner.next();
                if (!str3.equals("y")){
                    break;
                }

            }
        System.out.println("注册结束!");

        return uesrs;


    }
    public static void myInformation(uesr uu){
        Scanner scanner = new Scanner(System.in);
        System.out.println("--------------欢迎来到你的主页---------------");
        if (uu.balance<=0){
            System.out.println("你的余额已不足!,现在充值,可享受充100返1000积分!");
        }
        System.out.println("姓名:\t"+uu.name);
        System.out.println("性别:\t"+uu.sex);
        System.out.println("账户id:\t"+uu.id);
        System.out.println("生日:\t"+uu.borthday);
        System.out.println("常驻地:\t"+uu.adress);
        System.out.println("积分余额:\t"+uu.Point+"(满1000积分可抵消100元,不支持支付!超过100元订单可使用!)");
        System.out.println("你的会员卡账户余额:\t"+uu.balance+"元\n");
        while (true){
            System.out.println("操作:");
            System.out.println("1、编辑信息\t2、充值\t3、退出\t4、刷新!");
            int i = scanner.nextInt();
            if (i==1){
                System.out.println("暂不支持更改姓名与id!");
                System.out.println("您需要更改:1、性别\t2、生日\t3、常驻地");
                int x = scanner.nextInt();
                if (x==1){
                    System.out.println("输入性别:(男/女)");
                    while (true){
                        String str = scanner.next();
                        if (str.equals("男")){
                            uu.sex=str;
                            System.out.println("修改成功!");
                            break;
                        }else if (str.equals("女")){
                            uu.sex=str;
                            System.out.println("修改成功!");
                            break;
                        }else {
                            System.out.println("输入有误!请重新输入:");
                        }
                    }
                }else if (x==2){
                    System.out.println("输入生日:");
                    String str = scanner.next();
                    uu.borthday=str;
                    System.out.println("修改成功!");

                }else if (x==3){
                    System.out.println("输入地址:");
                    String str = scanner.next();
                    uu.adress=str;
                    System.out.println("修改成功!");

                }
            }else if (i==2){
                System.out.println("请输入充值金额:");
                double num = scanner.nextDouble();
                System.out.println("是否充值"+num+"元!(y/n)");
                String str = scanner.next();
                if (str.equals("y")){
                    uu.balance=num;
                    System.out.println("已充值!账户余额:"+uu.balance+"元!");
                    if (num >=100.0){
                        System.out.println("1000积分已到账!");
                        uu.Point+=1000;
                    }
                }else {
                    System.out.println("未充值!账户余额:"+uu.balance+"元!");
                }
            }else if (i==3){
                return;
            }else if (i==4){
                myInformation(uu);
            }
        }
    }
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的Java厅点管理系统的GUI代码: ```java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class RestaurantGUI extends JFrame implements ActionListener { // 声明组件 private JLabel title; private JLabel nameLabel; private JTextField nameField; private JLabel tableLabel; private JComboBox<String> tableComboBox; private JLabel dishLabel; private JCheckBox[] dishCheckBoxes; private JButton submitButton; private JButton clearButton; // 构造函数 public RestaurantGUI() { // 设置窗口标题 super("厅点管理系统"); // 设置窗口大小和位置 setSize(400, 400); setLocationRelativeTo(null); // 设置布局 setLayout(new GridLayout(6, 2)); // 添加标题标签 title = new JLabel("欢迎使用厅点管理系统", JLabel.CENTER); add(title); // 添加姓名标签和文本框 nameLabel = new JLabel("姓名:", JLabel.RIGHT); add(nameLabel); nameField = new JTextField(10); add(nameField); // 添加桌号标签和下拉框 tableLabel = new JLabel("桌号:", JLabel.RIGHT); add(tableLabel); String[] tableNumbers = {"1号桌", "2号桌", "3号桌", "4号桌", "5号桌"}; tableComboBox = new JComboBox<String>(tableNumbers); add(tableComboBox); // 添加菜品标签和复选框 dishLabel = new JLabel("菜品:", JLabel.RIGHT); add(dishLabel); String[] dishNames = {"鱼香肉丝", "宫保鸡丁", "糖醋里脊", "回锅肉", "青椒肉丝"}; dishCheckBoxes = new JCheckBox[dishNames.length]; for (int i = 0; i < dishNames.length; i++) { dishCheckBoxes[i] = new JCheckBox(dishNames[i]); add(dishCheckBoxes[i]); } // 添加提交和清空按钮 submitButton = new JButton("提交"); submitButton.addActionListener(this); add(submitButton); clearButton = new JButton("清空"); clearButton.addActionListener(this); add(clearButton); // 显示窗口 setVisible(true); } // 实现ActionListener接口的方法 public void actionPerformed(ActionEvent e) { if (e.getSource() == submitButton) { // 提交按钮被点击,处理提交逻辑 String name = nameField.getText(); String tableNumber = (String) tableComboBox.getSelectedItem(); String selectedDishes = ""; for (int i = 0; i < dishCheckBoxes.length; i++) { if (dishCheckBoxes[i].isSelected()) { selectedDishes += dishCheckBoxes[i].getText() + " "; } } JOptionPane.showMessageDialog(this, "提交成功!\n姓名:" + name + "\n桌号:" + tableNumber + "\n菜品:" + selectedDishes); } else if (e.getSource() == clearButton) { // 清空按钮被点击,处理清空逻辑 nameField.setText(""); tableComboBox.setSelectedIndex(0); for (int i = 0; i < dishCheckBoxes.length; i++) { dishCheckBoxes[i].setSelected(false); } } } // 程序入口 public static void main(String[] args) { new RestaurantGUI(); } } ``` 这个GUI界面包括姓名、桌号、菜品等信息的输入和提交、清空按钮的操作。当提交按钮被点击时,会弹出一个对话框显示提交的信息。当清空按钮被点击时,会将输入框和复选框清空。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值