package com.bd22;
import java.util.Scanner;
/*
* 欢迎使用“吃货联盟订餐系统
* 1.我要订餐
* 2.查看餐袋
* 3.签收订单
* 4.删除订单
* 5.我要点赞
* 6.退出系统
*/
public class Work1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int num = -1;
boolean isExit = false;
String[]names = new String[4];
String[]dishMegs = new String[4];
int[]times = new int[4];
String[]addresses = new String[4];
String[]dishNames = {"红烧带鱼","鱼香肉丝","时令鲜蔬"};
double[]prices = new double[] {38.0,20.0,10.0};
int[]praiseNums =new int[3];
int[]states = new int[4];//保存订单状态:0已经预定;1已经完成
double[]sumPrices = new double[4];
System.out.println("欢迎使用“吃货联盟订餐系统”");
do {
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("请选择:");
int choose = input.nextInt();
switch(choose){
case 1:
System.out.println("我要订餐");
Boolean isAdd = false;
for(int j = 0;j<names.length;j++) {
if(names[j]==null) {
isAdd = true;
System.out.println("请输入订餐人姓名:");
String name = input.next();
System.out.println("序号"+"\t"+"菜名"+"\t"+"单价"+"\t"+"点赞数");
for(int i= 0;i<dishNames.length;i++) {
String price =prices[i]+"元";
String priaiseNum =(praiseNums[i])>0?praiseNums[i]+"赞":"0";
System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+priaiseNum);
}
System.out.println("请选择您要点的菜品编号:");
int chooseDish = input.nextInt();
System.out.println("请选择您需要的份数:");
int number = input.nextInt();
String dishMeg = dishNames[chooseDish-1]+""+number+"份";
double sumPrice = prices[chooseDish-1]*number;
double deliCharge = 5;
System.out.println("请输入送餐时间(送餐时间是10点至20点整点送餐):");
int time = input.nextInt();
while(time<10||time>20) {
System.out.println("您的输入有误,请输入10~20间的整数!");
time = input.nextInt();
}
System.out.println("请输入送餐地址:");
String address = input.next();
System.out.println("订餐成功!");
System.out.println("您订的是:"+dishMeg);
System.out.println("送餐时间为"+time+"点");
System.out.println("餐费为:"+sumPrice+"元,送餐费"+deliCharge+"元,总价:"+(sumPrice+deliCharge)+"元。");
names[j]=name;
dishMegs[j]=dishMeg;
times[j]=time;
addresses[j]=address;
sumPrices[j]=sumPrice+deliCharge;
break;
}
if(!isAdd) {
System.out.println("对不起,您的餐袋已满!");
}
break;
}
break;
case 2:
System.out.println("查看餐袋");
System.out.println("序号\t订餐人\t餐品信息\t\t送餐时间\t送餐地址\t\t总金额\t订单状态");
for(int i = 0;i<names.length;i++) {
if(names[i]!=null) {
String state = (states[i]==0)?"已经预定":"已经完成";
String date = times[i]+"点";
String sumPrice = sumPrices[i]+"元";
System.out.println((i+1)+"\t"+names[i]+"\t"+dishMegs[i]+"\t\t"+date+"\t"+addresses[i]+"\t\t"+sumPrice+"\t"+state);
}
}
break;
case 3:
System.out.println("签收订单");
boolean isSignFind = false;
System.out.println("请选择要签收的订单序号:");
int signOrderld = input.nextInt();
for(int i =0;i<names.length;i++) {
if(names[i]!=null&&states[i]==0&&signOrderld==i+1) {
states[i]=1;
System.out.println("订单签收成功!");
isSignFind = true;
}else if(names[i]!=null&&states[i]==1&&signOrderld==i+1) {
System.out.println("您选择的订单已签收,不能再次签收!");
isSignFind = true;
}
}
if(!isSignFind) {
System.out.println("您选择的订单不存在!");
}
break;
case 4:
System.out.println("删除订单");
boolean isDelFind = false;
System.out.println("请输入要删除的订单序号:");
int delId = input.nextInt();
for(int i = 0;i<names.length;i++) {
if(names[i]!=null&&states[i]==1&&delId==i+1) {
isDelFind = true;
for(int j =delId-1;j<names.length-1;j++) {
names[j] =names[j+1];
dishMegs[j]=dishMegs[j+1];
times[j]=times[j+1];
addresses[j]=addresses[j+1];
states[j]=states[j+1];
sumPrices[j]=sumPrices[j+1];
}
int endIndex = names.length-1;
names[endIndex]=null;
dishMegs[endIndex]=null;
times[endIndex]=0;
addresses[endIndex]=null;
states[endIndex]=0;
sumPrices[endIndex]=0;
System.out.println("删除订单成功!");
break;
}else if(names[i]!=null&&states[i]==0&&delId==i+1) {
System.out.println("您选择的订单未签收,不能删除!");
isDelFind = true;
break;
}
}
if(!isDelFind) {
System.out.println("您要删除的订单不存在!");
}
break;
case 5:
System.out.println("我要点赞");
System.out.println("序号"+"\t"+"菜名"+"\t"+"单价");
for(int i = 0;i<dishNames.length;i++) {
String price = prices[i]+"元";
String priaiseNum =(praiseNums[i])>0?praiseNums[i]+"赞":"";
System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+priaiseNum);
}
System.out.println("请选择您要点赞的菜品序号:");
int priaiseNum = input.nextInt();
praiseNums[priaiseNum-1]++;
System.out.println("点赞成功!");
break;
case 6:
isExit = true;
break;
default:
isExit = true;
System.out.println("您的输入有误系统已崩溃,如需使用请重启系统");
break;
}
if(!isExit) {
System.out.println("输入0返回:");
num = input.nextInt();
}else {
break;
}
}while(num==0);
}
}