吃货联盟系统
public class EatUnion {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String[]name = new String[]{"张静","张晴",null,null};//用于保存点餐人的姓名
//String[]menu = new String[]{"1 红烧带鱼 68.0","2 鱼香肉丝 35.5","3 时令鲜蔬 38.0",
//"4 麻辣小龙虾 92.0"};//保存所选信息,包括菜品名及份数
String[]menu = new String[]{"红烧带鱼","鱼香肉丝"," 时令鲜蔬","麻辣小龙虾"};
double[]price = new double[]{68.0 ,35.5 ,38.0 ,92.0};//菜品价格
int[]praiseNum = new int[]{1,0,0,0};//点赞
int[]copies = new int[]{2,2,0,0};//份数
int[]time = new int[]{12,18,0,0};//用于保存送餐时间
String[]address = new String[]{"天成路207","天成路208",null,null};//用于保存送餐地址
int[]stats = new int[]{1,0,0,0};//保存订单状态:0表示已预订,1表示已完成
double[]sumprice = new double[]{136.0,71,0,0};//用于保存客户订餐总价
int s=0;
boolean flag=false;
int num;//用于用户选择
do{
System.out.println("欢迎使用“吃货联盟订餐系统”");
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("请选择:");
num = input.nextInt();//用于用户选择
switch(num){
case 1:{
System.out.println("\t******我要订餐******");
for(int i=0;i<name.length;i++){
if(name[i]==null){
flag = true;
System.out.print("请输入你的姓名:");
String names = input.next();
System.out.println("单号\t"+"菜单\t"+"价格\t"+"点赞数");
String praiseNums = (praiseNum[i])>0?praiseNum[i]+"赞" : "0";
for(int j=0;j<4;j++){
System.out.println((j+1)+" "+menu[j]+" "+price[j]+" "+praiseNum[j]);
}
System.out.print("请选择你要选择的菜品单号:");
int n =input.nextInt();
System.out.print("请选择份数:");
int m =input.nextInt();
double sumprices =m*price[n-1];
int canFei = (sumprices>50)?0:5;
sumprices +=canFei;
System.out.print("请输入送餐时间(8-22)");
int times = input.nextInt();
while(times<8 || times>22){
System.out.println("您输入的时间不在送餐时间范围内,请重新输入(8-22):");
times = input.nextInt();
}
System.out.print("请输入送餐地址:");
String ad = input.next();
System.out.println("订餐成功!");
System.out.println("订餐人:"+names);
System.out.println("您定的是:"+menu[n-1]+""+m+"份");
System.out.println("订餐地址:"+ad);
System.out.println("送餐时间是:"+times+"点");
System.out.println("餐费:"+sumprices+"元");
//添加数据
name[i] = names;
time[i] = times;
address[i] = ad;
sumprice[i] = sumprices;
System.out.println("您是否继续点餐(输入y继续点餐,输入n返回主界面):");
String st = input.next();
if(st.equals("y")){
while(i==3){
System.out.println("对不起您的餐袋满了!");
flag = false;
break;
}
if(!flag){
break;
}
}
else if(st.equals("n")){
flag = false;
break;
}
else{
System.out.println("输入有误,请重新输入(y/n):");
st = input.next();
}
}
}
}break;
case 2:{
System.out.println("\t******查看餐袋******");
System.out.println("序号\t"+"订餐人\t"+"菜名\t"+"份数\t"+"送餐时间\t"+" 送餐地址\t"+" 总金额\t"+" 订单状态");
for(int i=0;i<4;i++){
if(name[i]!=null){
String stat = (stats[i]==0)?"已预订":"已完成";
System.out.println((i+1)+"\t"+name[i]+"\t"+menu[i]+"\t"+copies[i]+"\t"+" "+time[i]+"\t"+address[i]+"\t"+" "+sumprice[i]+"\t"+stats[i]);
}
}
}break;
case 3:{
System.out.println("\t******签收订单******");
System.out.print("请输入你要签收的订单号:");
boolean flag1 = false;
int q =input.nextInt();//q代表要签收的订单号
for(int i=0;i<name.length;i++){
if(name[i]!=null && stats[i]==0 && q==(i+1)){
stats[i]=1;
System.out.println("签收成功!");
flag1 = true;
}
else if(name[i]!=null && stats[i]==1 && q==(i+1)){
System.out.println("您选择的订单已签收");
flag1 = true;
}
}
if(!flag1){
System.out.println("没有找到要签收的订单!");
}
}break;
case 4:{
System.out.println("\t******删除订单******");
boolean flag2 = false;
System.out.print("请输入要删除的订单号:");
int sc = input.nextInt();//存放要删除的订单号
for(int i=0;i<4;i++){
if(stats[i]==1 && name[i]!=null && sc==i+1){
flag2 = true;
for(int j=sc-1;j<name.length-1;j++){
name[j] = name[j+1];
time[j] = time[j+1];
address[j] = address[j+1];
sumprice[j] = sumprice[j+1];
stats[j] = stats[j+1];
menu[j] = menu[j+1];
}
int end = name.length-1;//删除数据的数组最后一位下标置为.length-1
name[end] = null;
time[end] = 0;
address[end] = null;
sumprice[end] = 0;
stats[end] = 0;
menu[end] = null;
System.out.println("删除订单成功!");
break;
}
else if(name[i]!=null && stats[i]==0 && sc==i+1){
System.out.println("订单未签收,不能删除!");
flag2 = true;
break;
}
}
if(!flag){
System.out.println("未找到您要删除的订单!");
}
}break;
case 5:{
System.out.println("\t******我要点赞******");
System.out.println("单号\t"+"菜单\t"+"价格\t"+"赞数");
for(int j=0;j<4;j++){
String praiseNums = (praiseNum[j])>0?praiseNum[j]+"赞" : "0";
System.out.println((j+1)+" "+menu[j]+" "+price[j]+" "+praiseNum[j]);
}
System.out.print("请选择你要点赞的菜品序号:");
int zan = input.nextInt();
praiseNum[zan-1]++;
System.out.println("点赞成功!");
}break;
case 6:{
flag=true;
System.out.println("退出系统!");
break;
}
default:{
flag = true;
System.out.println("输入有误,自动退出系统!");
break;
}
}
if(!flag){
System.out.print("输入0返回:");
num =input.nextInt();
}
else{
break;
}
}while(num==0);
}