一、外卖点餐系统
public static void main(String[] args) {
String[] name = new String[4];
String[] menu = {“红烧茄子”,“红烧排骨”,“鱼香肉丝”};//菜品订单
int[] good = new int[3];//点赞数组
double[] money={24,36,32};//菜品的单价
String[] time= new String[4];//送餐时间
String[] part=new String[4];//餐品的份数
String[] address=new String[4];//订餐人地址
int[] states=new int[4];//储存订单状态(预订,完成)
boolean notfull=true;//循环判定
boolean isback=true;//返回判定
double[] sumPrices=new double[4];//总价
Scanner sc = new Scanner(System.in);
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("请选择:");
int key=sc.nextInt();//选择变量
switch (key){
case 1://我要订餐系统
System.out.print("请输入订餐人姓名:");
for (int i = 0; i < 4; i++) {
if(name[i]==null){
name[i]=sc.next();
break;
}
}
//显示菜单
System.out.println("序号\t菜名\t单价");
for (int i = 0; i < menu.length; i++) {
System.out.println((i+1)+"\t"+menu[i]+"\t"+money[i]);
}
System.out.print("请选择您要点的菜品编号:");
int dishCode=sc.nextInt();
System.out.print("请选择您想需要的份数:");
int ordernum=sc.nextInt();
for (int i = 0; i < part.length; i++) {
if(part[i]==null){
part[i]=menu[dishCode-1]+ordernum+"份";
break;
}
}
//订单时间
System.out.print("请输入送餐时间:");
String sendTime=sc.next();
for (int i = 0; i < time.length; i++) {
if(time[i]==null){
time[i]=sendTime;
break;
}
}
//送餐地址
System.out.print("请输入送餐地址:");
String sendAddress=sc.next();
for (int i = 0; i < address.length; i++) {
if(address[i]==null){
address[i]=sendAddress;
break;
}
}
//显示订餐信息
System.out.println("订餐成功!");
System.out.println("您订的是:"+menu[dishCode-1]+ordernum+"份");
System.out.println("送餐时间:"+sendTime);
//计算并显示送餐费
double dishFee=money[dishCode-1]*ordernum;
System.out.println("送餐费为"+dishFee);
//存储总金额
for (int i = 0; i < sumPrices.length; i++) {
if(sumPrices[i]==0){
sumPrices[i]+=dishFee;
break;
}
}
do{
System.out.println("输入0返回主菜单");
if(sc.nextInt()==0)
isback=false;
else
isback=true;
}while (isback);
break;
case 2://查询
System.out.println("***查看餐袋***");
System.out.println("序号\t"+"订餐人\t"+"\t餐品信息\t"+"\t送餐日期\t"+"送餐地址\t"+"\t总金额\t"+"\t订单状态");
for(int i=0;i<name.length;i++) {
if(name[i]!=null) {
String state =states[i]==0?"已预订":"已完成";
System.out.println((i+1)+"\t\t"+name[i]+"\t\t"+menu[i]+"\t\t"+time[i]+"\t\t"+address[i]+"\t\t\t"+sumPrices[i]+"\t\t"+state);
}
}
do{
System.out.println("输入0返回主菜单");
if(sc.nextInt()==0)
isback=false;
else
isback=true;
}while (isback);
break;
case 3:
System.out.println("*********签收订单*********");
System.out.print("请输入您要签收的订单");
int index=sc.nextInt();
if(index>name.length||index<=0){
System.out.println("签收失败,订单不存在");
}else if(name[index-1]==null){
System.out.println("签收失败,未查询到该订单");
}else if(states[index-1]==0){
states[index-1]=1;
System.out.println("签收成功");
}else
System.out.println("该订单已经签收,无需再次签收");
//返回语句
do{
System.out.println("输入0返回主菜单");
if(sc.nextInt()==0)
isback=false;
else
isback=true;
}while (isback);
break;
case 4://删除订单(先查询,再用后一个覆盖前一个arr[i]=arr[i+1])
System.out.println("********删除订单********");
System.out.print("请输入想要删除的订单:");
int index1=sc.nextInt();
if(index1>name.length||index1<=0){
System.out.println("删除失败,订单不存在");
}else if(name[index1-1]==null) {
System.out.println("删除失败,未查询到该订单");
}else if(states[index1-1]==0){
System.out.println("删除失败,订单未签收禁止删除");
}else{
for (int i = index1-1; i < name.length-1; i++) {
name[i]=name[i+1];
time[i]=time[i+1];
address[i]=address[i+1];
sumPrices[i]=sumPrices[i+1];
states[i]=states[i+1];
}
System.out.println("订单删除成功");
}
do{
System.out.println("输入0返回主菜单");
if(sc.nextInt()==0)
isback=false;
else
isback=true;
}while (isback);
break;
case 5://点赞系统
System.out.println("*********我要点赞*********");
//显示菜单
System.out.println("序号\t菜名\t单价");
for (int i = 0; i < good.length; i++) {
System.out.println((i+1)+"\t"+menu[i]+"\t"+money[i]+"\t"+good[i]+"赞");
}
System.out.print("请选择您要点赞的菜品序号:");
int index2=sc.nextInt();
if(index2<=0||index2>good.length)
System.out.println("菜品不存在,点赞失败!");
else {
good[index2-1]++;
System.out.println("点赞成功!");
}
do{
System.out.println("输入0返回主菜单");
if(sc.nextInt()==0)
isback=false;
else
isback=true;
}while (isback);
break;
case 6://退出系统
notfull=false;
break;
}
}while(notfull);
}
运行效果: