简单java基础小项目(吃货联盟)

简单java基础小项目

现开发一个网上订餐系统,功能如下
我要订餐
查看餐袋
签收订单
删除订单
我要点赞
退出系统

程序基本概念

变量
数据类型
流程控制
顺序
选择
循环
跳转语句
数组

import java.util.Scanner;

/**
 * @author zhouhu
 * @Date
 * @Desription
 */
public class D1 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String[] dishes={"超级烧肉","开水白菜","为福跳墙","蜜汁熊掌"};
        double[]  price={18,12,68,88};
        int[] h={50,100,20,12};
        String[][] order=new String[1024][];
//        int[]zan=new int[dishes.length];
        int chose=0;
        //欢迎页
        System.out.println("欢迎使用吃货联盟订餐系统");
        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("请选择");
             chose=sc.nextInt();
            switch (chose){
                case 1:
                    System.out.println("*****我要订餐******");
                    System.out.print("请输入订单人姓名");
                    String name=sc.next();
                    //餐单信息
                    System.out.println("序号\t"+"菜品\t"+"单价\t");
                    for (int i = 0; i < dishes.length; i++) {
                        System.out.println((i+1)+dishes[i]+"\t"+price[i]+"元");
                    }
                    int disNum=0;
                   do {System.out.print("菜品编号");
                        disNum=sc.nextInt();
                        if (disNum<1||disNum>dishes.length){
                            System.out.println("请重新输入!");
                        }
                   }while(disNum<1||disNum>dishes.length);
                   int pcs=0;
                    do {System.out.println("需要的份数");
                        pcs=sc.nextInt();
                        if (pcs<1){
                            System.out.println("请重新输入!");
                        }
                    }while(pcs<1);
                    int time=0;
                    do {
                        System.out.println("输入送餐时间");
                        time=sc.nextInt();
                        if (time<10||time>20){
                            System.out.println("重新输入");
                        }
                    }while (time<10||time>20);

                    System.out.println("输入地址");
                    String address=sc.next();
                    System.out.println("订餐成功");
                    System.out.print("您定的是"+dishes[disNum-1]+"\t"+pcs+"份");
                    System.out.println("时间"+time);
                    double cost=price[disNum-1]*pcs;
                    double sent=cost<50? 6:0;
                    double total=cost+sent;
                    System.out.println("总价格为"+total+"  餐费  "+cost+"  运送费  "+sent);
                    for (int i = 0; i < order.length ; i++) {
                        if (order[i]==null){
                           order[i]=new String[2];
                           order[i][0]=name+"\t"+dishes[disNum-1]+"\t"+pcs+"份\t"+time+"点\t"+address+"\t";
                            order[i][1]="已预订";
                            break;
                        }
                    }
                    break;
                case 2:
                    System.out.println("******查看餐带******");
                    System.out.println("序号\t订餐人\t餐品信息\t\t送餐日期\t送餐地址\t\t总金额\t订单状态");
                    for (int i = 0; i <order.length ; i++) {
                        if (order[i]!=null){
                        System.out.println((i+1)+"\t"+order[i][0]+order[i][1]);
                    }else{
                            break;
                        }
                    }
              break;
                case 3:
                    System.out.println("******签收订单******");
                    System.out.println("序号\t订餐人\t餐品信息\t\t送餐日期\t送餐地址\t\t总金额\t订单状态");
                    for (int i = 0; i <order.length ; i++) {
                        if (order[i]!=null){
                            System.out.println((i+1)+"\t"+order[i][0]+order[i][1]);
                        }else{
                            break;
                        }
                    }
                    int num=0 ;
                    int end = 0;
                    do {
                        System.out.println("选择要签收的单号");
                        for (int i = 0; i < order.length; i++) {
                            if (order[i] == null) {
                                end = i;
                                break;
                            }
                        }
                        num=sc.nextInt();
                        if (num<1||num>end){
                            System.out.println("重新输入");
                        }else if ("已完成".equals(order[num-1][1])){
                            System.out.println("已签收,不能重复签收");
                        }else {
                            order[num-1][1] = "已完成";
                            break;
                        }
                    } while (num<1||num>end||"已预订".equals(order[num-1][1])) ;
                    break;
                case 4:
                    System.out.println("******删除订单******");
                    int n=0;
                    int e=0;
                    do {
                        for (int i = 0; i <order.length ; i++) {
                            if (order[i]==null){
                                e=i;
                                break;
                            }
                        }
                        System.out.println("输入删除序号");
                         n=sc.nextInt();
                         if (n<1||n>e){
                             System.out.println("重新输入");
                         }else if ("已预定".equals(order[n-1][1])){
                             System.out.println("未完成不能删除");
                         }else {
                             boolean isdelete=false;
                             for (int i = n-1; i <order.length ; i++) {
                                 if (i==order.length-1){
                                     isdelete=true;
                                     order[i]=null;
                                 }else{
                                     order[i]=order[i+1];
                                     if (order[i]==null){
                                         break;
                                     }
                                 }
                             }
                         }
                    }while(n<1||n>e||!"已完成".equals(order[n-1][1]));
                    break;
                case 5:
                    System.out.println("*****我要点赞*****");
                    System.out.println("序号\t"+"菜品\t"+"单价\t");
                    for (int i = 0; i < dishes.length; i++) {
                        System.out.println((i+1)+dishes[i]+"\t"+price[i]+"元"+h[i]+"赞");
                    }
                    System.out.print("请选择您要点赞的菜品序号:");
                     int zan=sc.nextInt();
                     h[zan-1]++;
                    break;
                case 6:
                    System.out.println("*****退出系统*****");
                    break;
                    default:
            }
            if (chose>0&chose<6){
                System.out.println("输入0返回");
                chose=sc.nextInt();
            }else
              break;
        }while(chose==0);
        System.out.println("谢谢使用,欢迎下次光临");
    }
}

猜你喜欢

转载自blog.csdn.net/jokertiger/article/details/112586300