代码
package com.play; import java.util.*; /** * 吃货联盟订餐系统 * @author Administrator * 2019.1.5 */ public class Foodie { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String[] names=new String[100]; //用户姓名 String[] meal= {"红烧带鱼","鱼香肉丝","时令鲜蔬 "}; //餐品信息 String[] mealnum=new String[100]; //记入用户餐品信息 double[] cost= {38.0,20.0,10.0}; //餐品费用 double[] costs=new double[100]; //记入餐品费用 int[] amount=new int[100]; //餐品数量 int[] days=new int[100]; //送餐日期 String[] site=new String[100]; //送餐地址 double[] money=new double[100]; //原价 double[] money2=new double[100]; //会员价 String[] condition=new String[100]; //订单状态 Arrays.fill(condition, "未签收"); //赋值订单状态 int[] good=new int[10]; //菜名点赞次数 String member="非会员"; //会员系统 int i=0; //客户数 int choose; //用户选择 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("7、退出系统"); choose=sc.nextInt(); switch(choose) { case 1: //***我要订餐*** System.out.println("********************"); System.out.println("***我要点餐***"); if("会员".equals(member)) { System.out.println("尊贵的会员您好!"); } System.out.print("请输入姓名:"); names[i]=sc.next(); System.out.println("序号 菜名 单价"); System.out.println("1 红烧带鱼 38.0元 "+good[0]+"次点赞"); System.out.println("2 鱼香肉丝 20.0元 "+good[1]+"次点赞"); System.out.println("3 时令鲜蔬 10.0元 "+good[2]+"次点赞"); System.out.print("请选择您要点的菜品编号:"); int order=sc.nextInt(); costs[i]=cost[order-1]; mealnum[i]=meal[order-1]; System.out.print("你选择的套餐:"+meal[i]); System.out.print("请选择您需要的份数:"); amount[i]=sc.nextInt(); //套餐份数 money[i]=(costs[i])*(amount[i]); //原价 if(member.equals("会员")) { money2[i]=money[i]*0.8; //总金额 会员八折 } do { System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):"); days[i]=sc.nextInt(); if(days[i]<10||days[i]>20) { System.out.println("您的输入有误,请输入10~20间的整数!"); } }while(days[i]>20||days[i]<10); System.out.print("请输入送餐地址:"); site[i]=sc.next(); System.out.println("*******"); System.out.println("订餐成功!"); System.out.println("您订的是:"+mealnum[i]+" "+amount[i]+"份"); System.out.println("单价:"+cost[order-1]); System.out.println("餐费是:"+money[i]); if(member.equals("会员")) { System.out.println("会员价:"+String.format("%.2f", money2[i])); //保留小数点两位 } System.out.println("送餐时间是:"+days[i]+"点"); i++; //迭代下次有新订餐,变量人次加一,以免重复赋值 int zero; do { System.out.println("输入0返回"); zero=sc.nextInt(); System.out.println("********************"); }while(zero!=0); break; case 2: //***查看餐袋*** System.out.println("********************"); System.out.println("***查看餐袋***"); System.out.println("序号 订餐人 餐品信息 送餐日期 送餐地址 总金额 会员价 订单状态 "); for(int j=0;j<i;j++) { System.out.print(j+1+"\t"); //序号 System.out.print(names[j]+"\t"); //订餐人 System.out.print(mealnum[j]+" "); //餐品信息 System.out.print(amount[j]+"份\t"); //餐品数量 System.out.print(days[j]+"\t"); //送餐日期 System.out.print(site[j]+"\t\t"); //送餐地址 System.out.print(money[j]+"\t"); //总金额 System.out.print("会员价:"+String.format("%.2f", money2[j])+"\t"); //会员价 保留两位小数 System.out.println(condition[j]+"\t"); //订单状态 } do { System.out.println("输入0返回"); zero=sc.nextInt(); }while(zero!=0); System.out.println("********************"); break; case 3: //***签收订单*** System.out.println("********************"); System.out.println("***签收订单***"); do { int num; do { System.out.print("请选择要签收的订单序号:"); num=sc.nextInt(); if(num<1) { System.out.println("输入有误重新输入"); }else if(num-1>i) { System.out.println("不能乱签收!"); } }while(!(num>0)); if(num>i) { System.out.println("输入错误,重新输入!"); }else if(condition[num-1].equals("已签收")) { System.out.println("不能重复签收"); }else if(num-1>i){ System.out.println("不能乱签收"); }else if(condition[num-1].equals("未签收")){ condition[num-1]="已签收"; //签收成功 System.out.println("***签收成功!***"); } System.out.println("按任意数字继续,输入0结束"); zero=sc.nextInt(); }while(zero!=0); break; case 4: //***删除订单*** System.out.println("********************"); do { System.out.println("***删除订单***"); System.out.println("请输入要删除的订单"); int index=sc.nextInt(); if(index<1||index>101||index>i) { System.out.println("输入有误"); }else if(condition[index-1].equals("未签收")) { System.out.println("未签收,不能删除"); }else if(condition[index-1].equals("已签收")) { for(int j=index-1;j<names.length-1;j++) { names[j]=names[j+1]; //覆盖名字 mealnum[j]=mealnum[j+1]; //覆盖餐品信息 costs[j]=costs[j+1]; //覆盖餐品费用 amount[j]=amount[j+1]; //覆盖餐品数量 days[j]=days[j+1]; //覆盖日期 site[j]=site[j+1]; //覆盖地址 money[j]=money[j+1]; //覆盖总金额 condition[j]=condition[j+1]; //覆盖订单状态 } System.out.println("删除订单成功!"); i--; } System.out.println("按任意数字继续,输入0结束 "); zero=sc.nextInt(); }while(zero!=0); break; case 5: //***我要点赞*** System.out.println("********************"); System.out.println("***我要点赞***"); System.out.println("序号 菜名 单价"); System.out.println("1 红烧带鱼 38.0元 "+good[0]+"次点赞"); System.out.println("2 鱼香肉丝 20.0元 "+good[1]+"次点赞"); System.out.println("3 时令鲜蔬 10.0元 "+good[2]+"次点赞"); System.out.print("请选择您要点赞的菜品序:"); int num=sc.nextInt(); good[num-1]+=1; //点赞次数加一 System.out.println("点赞成功!"); do { System.out.println("按0退出!"); zero=sc.nextInt(); }while(zero!=0); break; case 6: //***会员系统*** System.out.println("********************"); System.out.println("会员状态 :"+member); System.out.println("是否充值会员! y\t或者取消会员! n"); String choice=sc.next(); if(choice.equals("y")) { member="会员"; System.out.println("恭喜你!充值成功"); do { System.out.println("按0退出!"); zero=sc.nextInt(); }while(zero!=0); }else if(choice.equals("n")) { member="非会员"; System.out.println("取消成功"); do { System.out.println("按0退出!"); zero=sc.nextInt(); System.out.println("输入正确的数值!"); }while(zero!=0); } } }while(choose!=7); System.out.println("谢谢点餐!"); } }
运行