您的位置:首页 > 编程语言 > Java开发

Java实战项目————吃货联盟订餐系统

2020-07-09 10:04 399 查看
[code]package Demo;

import java.util.Scanner;

public class Demo001chihuo {

public static void main(String[] args) {
// TODO Auto-generated method stub
String names[]=new String[4];		//保存订餐人姓名
String dishMegs[]=new String[4];	//保存所选信息,包括菜品名及份数
int times[]=new int[4];				//保存送餐时间
String addresses[]=new String[4];	//保存送餐地址
int states[]=new int[4];			//保存订单状态:0表示已预定;1表示已完成
double sumPrices[]=new double[4];	//保存订单的总金额
int praiseNums[]=new int[3];		//点赞数

String dishNames[]= {"清炖王八","爆炒羊腰","大补汤"};//定义一个已存在的菜单
int prices[]= {88,68,58};

//初始化第一条订单信息
names[0]="张三";
dishMegs[0]="清炖王八 2份";
times[0]=12;
addresses[0]="秋名山";
sumPrices[0]=196.0;//合计超过50元 免5元配送费
states[0]=1;//表示订单已完成

//初始化第二条订单信息
names[1]="李四";
dishMegs[1]="爆炒羊腰 2份";
times[1]=18;
addresses[1]="光明顶";
sumPrices[1]=64.0;//合计超过50元 免5元配送费
states[1]=0;//表示订单预定

Scanner input=new Scanner(System.in);
int num=-1;
boolean isExit=false;//代表用户是否退出;true是退出
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.println("请选择你要进行的操作:");
int choose=input.nextInt();//chose代表选择的菜单序号

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.print("请输入订餐人姓名:");
String name=input.next();
System.out.println("序号"+"\t"+"菜名"+"\t"+"单价"+"\t"+"点赞数");
for(int i=0;i<dishNames.length;i++) {
String price=prices[i]+"元";
String praiseNum=(praiseNums[i])>0 ? praiseNums[i] + "赞":"0";
System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+praiseNum);
}
System.out.print("请选择你要点的菜品编号:");
int chooseDish=input.nextInt();
System.out.print("请选择你需要的份数:");
int number=input.nextInt();//代表键盘 输入的份数
String dishMeg=dishNames[chooseDish-1]+" "+number+"份";//代表菜品总金额
int sumPrice=prices[chooseDish-1]*number;
double peisong=(sumPrice>50)?0:5;//如总金额超过50则免5元配送费;反之加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 addresse=input.next();

System.out.println("订餐成功√");
System.out.println("你订的是:"+dishMeg);
System.out.println("送餐时间:"+time);
System.out.println("餐费:"+sumPrice+"元"+"\t"+"配送费"+peisong+"元"+"\t"+"合计"+(sumPrice+peisong)+"元");

names[j]=name;//代表从键盘输入的订餐人名字
dishMegs[j]=dishMeg;//代表从键盘输入的菜单
times[j]=time;//代表熊键盘上输入的送餐时间
addresses[j]=addresse;//代表从键盘上输入的送餐地址
sumPrices[j]=sumPrice+peisong;//代表从输入的订餐总金额
break;

}
}
if(!isAdd) {
System.out.println("对不起,你的餐袋已满不能订餐");
}
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 time=times[i]+"点";
String sumPrice=sumPrices[i]+"元";
System.out.println((i+1)+"\t"+names[i]+"\t"+dishMegs[i]+"\t\t"+time+"\t"+addresses[i]+"\t"+sumPrice+"\t\t"+state);

}

}
break;
case 3:
System.out.println("**********签收订单**********");
boolean isQianShou=false;//找到要签收的订单
System.out.print("请输入你要签收的订单序号:");
int isXuHao=input.nextInt();//代表从键盘上获取的订单序号
for(int i=0;i<names.length;i++) {
if(names[i]!=null && states[i]==0 && isXuHao==i+1) {
states[i]=1;//表示订单状态为 已签收/已完成
System.out.println("订单签收成功!");
isQianShou=true;//表示找到客户从键盘上输入的订单序号
}else if(names[i]!=null && states[i]==1 && isXuHao==i+1){
System.out.println("你选择的订单已签收,不能再次进行签收!");
isQianShou=true;//表示已找到次订单
}
}
if(!isQianShou) {
System.out.println("你选择的订单不存在!");
}
break;
case 4:
System.out.println("**********删除订单**********");
boolean isShanChu=false;//标记是否找到要删除的订单
System.out.print("请输入你要删除的订单序号:");
int isDingDan=input.nextInt();//代表键盘获取从键盘上输入的要删除的订单号
for(int i=0;i<names.length;i++) {
if(names[i]!=null && states[i]==1 && isDingDan==i+1) {
isShanChu=true;//表示已找到此订单

for(int j=0;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 ZuiHouYiWei=names.length-1;
names[ZuiHouYiWei]=null;
dishMegs[ZuiHouYiWei]=null;
times[ZuiHouYiWei]=0;
addresses[ZuiHouYiWei]=null;
states[ZuiHouYiWei]=0;
sumPrices[ZuiHouYiWei]=0;
System.out.println("删除订单成功!");
break;
}else if(names[i]!=null && states[i]==0 && isDingDan==i+1) {
System.out.println("你选择的订单未签收,不能删除!");
isShanChu=true;//表示已找到此订单
break;
}
}
if(!isShanChu){
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 praiseNum=(praiseNums[i])>0?praiseNums[i]+"赞":"";
System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+praiseNum);
}
System.out.print("请选择你要点赞的菜品序号:");
int praiseNum=input.nextInt();
praiseNums[praiseNum-1]++;//代表点赞加1
System.out.println("点赞成功!");
break;
case 6:
System.out.println("**********退出系统**********");
isExit=true;
break;
default:
isExit=true;
break;

}

if(!isExit) {
System.out.println("输入0返回");
num=input.nextInt();
}else {
break;
}
}while(num==0);
System.out.println("感谢你的支持,欢迎你下次光临");
}

}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: