您的位置:首页 > 其它

吃货联盟订餐系统

2017-08-21 12:28 239 查看

实现菜单切换:

System.out.println("欢迎使用吃货联盟订单系统");
Scanner input = new Scanner(System.in);
int num=-1//用户输入0返回主菜单,否则退出系统;
bolean isExit=false//标志用户是否退出系统;
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 choose=input.nextInt();
if(!isExit){
System.out.print("输入0返回");
num=input.nextInt();
}else{
break;
}
}while(num==0);

定义一些变量:

 

String[] cai = { "红烧带鱼", "鱼香肉丝", "时令鲜蔬" };// 菜品
String[] names = new String[4];// 订餐人
int[] nums = new int[4];// 份数
int[] time = new int[4];// 时间
String[] site = new String[4];// 地址
String[] state = new String[] { "预定", "预定", "预定", "预定" };// 订单状态
double[] mond = { 38, 20, 10 };// 单价
int a = -1;// 输入0返回
int cd;// 输入菜单错误,重新选择
double[] b = new double[4];// 总金额
int[] zan = new int[3];// 点赞
int i = 0;
int e = 0;
int qian;

 

选择1:我要订餐

case 1:
for (; i < names.length;) {
System.out.println("****我要订单****");
System.out.println("请输入订单人姓名:");//使用数组记录订单人名称
names[i] = bdqn.next();
do {
System.out.println("序号\t" + "菜单\t" + "单价" + "\t点赞");
//利用for循环输出(序号-菜单-单价-点赞)
for (int j = 0; j < cai.length; j++) {
System.out.println((j + 1) + "\t" + cai[j] + "\t"
+ mond[j] + "\t" + zan[j]);
}
System.out.println("请选择菜单:");
cd = bdqn.nextInt();
//判断输入的菜单数是否溢出菜单数
if (cd > 3 || cd < 1) {
System.out.println("没有此菜品!请重新选择:");
}
} while (cd > 3 || cd < 1);
System.out.println("送餐份数:");
nums[i] = bdqn.nextInt();
do {
System.out.println("请输入送餐时间(10至20点):");
time[i] = bdqn.nextInt();
//判断此时间营不营业
if (time[i] > 20 || time[i] < 10) {
System.out.println("此时间不营业!请重新输入:");
}
} while (time[i] > 20 || time[i] < 10);
System.out.println("请输入送餐地址:");
site[i] = bdqn.next();
System.out.println("成功预定!");
System.out.println("您订的是:" + cai[i] + nums[i]);
System.out.println("送餐时间:" + time[i]);
//定义一个变量用来储存送餐费,然后进行判断
double song = 0;
b[i] = mond[i] * nums[i] + song;
if (b[i] < 50) {
song = 5;
}
System.out.println("餐费:" + (b[i] - song) + "元,送餐费:" + song
+ "元,总计:" + b[i]);
break;
}
//判断餐袋是否已满,未满再次执行时,录入第二次的订单情况
if (i >= site.length) {
System.out.println("餐袋已满!");
} else {
i++;
}
break;

选择2:查看菜袋

case 2:
System.out.println("****查看餐袋****");
System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t送餐地址\t总金额\t订单状态");
//利用for循环输出(序号-订单人-餐品信息-送餐时间-送餐地址-总金额-订单状态)
for (int j = 0; j < i; j++) {
System.out.println((j + 1) + "\t" + names[j] + "\t"
+ cai[j] + nums[j] + "份\t" + time[j] + "\t"
+ site[j] + "\t" + b[j] + "\t" + state[j]);
}
break;

选择3:签收订单

case 3:
System.out.println("****签收订单****");
do {
System.out.println("请输入您要签收的订单:");
qian = bdqn.nextInt();
//输入要签收的订单,判断订单是否存在和是否已签收,若未签则执行签收
if (e == qian) {
System.out.println("订单已签收,不能再次签收!");
} else if (qian <= i) {
System.out.println("签收成功!");
state[qian - 1] = "签收";
e = qian;
break;
} else if (qian > i) {
System.out.println("没有该订单,请重新输入您要签收的订单:");
}
} while (qian > i);
break;

选择4:删除订单

case 4:
System.out.println("***删除订单****");
System.out.println("请输入您要删除的订单:");
int c = bdqn.nextInt();
//输入要删除的订单,并判断是否签收(只有签收成功,才能执行删除,删除时所有关于订餐情况下标-1)
if (c <= i) {
if (state[c - 1].equals("签收")) {
for (int j = c - 1; j < i; j++) {
if (j + 1 > 3) {// 预防数组溢出
break;
}
names[j] = names[j + 1];
cai[j] = cai[j + 1];
nums[j] = nums[j + 1];
time[j] = time[j + 1];
site[j] = site[j + 1];
b[j] = b[j + 1];
state[j] = state[j + 1];
}
System.out.println("删除成功!");
i--;
e = 0;
} else {
System.out.println("您选择的订单,未签收,不能删除!");
}
} else {
System.out.println("没有此订单!");
}
break;

选择5:我要点赞

case 5:
System.out.println("****我要点赞****");
int l;
do {
System.out.println("请输入您要点赞的菜单:");
l = bdqn.nextInt();
switch (l) {// 每次选择点赞该商品+1
case 1:
zan[0]++;
System.out.println("点赞成功!");
break;
case 2:
zan[1]++;
System.out.println("点赞成功!");
break;
case 3:
zan[2]++;
System.out.println("点赞成功!");
break;
default:
System.out.println("无此商品序号!");
break;
}
} while (l > cai.length);
break;

选择6:系统退出

case 6:
System.out.println("退出系统!");
break;

选择其他时,显示请重新输入:

default:
System.out.println("您输入的数字没有相符合的系统,请重新选择:");
break;

吃货联盟订餐系统:(整过程)

import java.util.Scanner;

public class Foodie {

/**
* @param args
*/
public static void main(String[] args) {
Scanner bdqn = new Scanner(System.in);
String[] cai = { "红烧带鱼", "鱼香肉丝", "时令鲜蔬" };// 菜品
String[] names = new String[4];// 订餐人
int[] nums = new int[4];// 份数
int[] time = new int[4];// 时间
String[] site = new String[4];// 地址
String[] state = new String[] { "预定", "预定", "预定", "预定" };// 订单状态
double[] mond = { 38, 20, 10 };// 单价
int a = -1;// 输入0返回
int cd;// 输入菜单错误,重新选择
double[] b = new double[4];// 总金额
int[] zan = new int[3];// 点赞
int i = 0;
int e = 0;
int qian;
do {
System.out.println("\n欢迎使用“吃货联盟订餐系统”");
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 = bdqn.nextInt();
switch (choose) {
case 1:
for (; i < names.length;) {
System.out.println("****我要订单****");
System.out.println("请输入订单人姓名:");//使用数组记录订单人名称
names[i] = bdqn.next();
do {
System.out.println("序号\t" + "菜单\t" + "单价" + "\t点赞");
//利用for循环输出(序号-菜单-单价-点赞)
for (int j = 0; j < cai.length; j++) {
System.out.println((j + 1) + "\t" + cai[j] + "\t"
+ mond[j] + "\t" + zan[j]);
}
System.out.println("请选择菜单:");
cd = bdqn.nextInt();
//判断输入的菜单数是否溢出菜单数
if (cd > 3 || cd < 1) {
System.out.println("没有此菜品!请重新选择:");
}
} while (cd > 3 || cd < 1);
System.out.println("送餐份数:");
nums[i] = bdqn.nextInt();
do {
System.out.println("请输入送餐时间(10至20点):");
time[i] = bdqn.nextInt();
//判断此时间营不营业
if (time[i] > 20 || time[i] < 10) {
System.out.println("此时间不营业!请重新输入:");
}
} while (time[i] > 20 || time[i] < 10);
System.out.println("请输入送餐地址:");
site[i] = bdqn.next();
System.out.println("成功预定!");
System.out.println("您订的是:" + cai[i] + nums[i]);
System.out.println("送餐时间:" + time[i]);
//定义一个变量用来储存送餐费,然后进行判断
double song = 0;
b[i] = mond[i] * nums[i] + song;
if (b[i] < 50) {
song = 5;
}
System.out.println("餐费:" + (b[i] - song) + "元,送餐费:" + song
+ "元,总计:" + b[i]);
break;
}
//判断餐袋是否已满,未满再次执行时,录入第二次的订单情况
if (i >= site.length) {
System.out.println("餐袋已满!");
} else {
i++;
}
break;
case 2:
System.out.println("****查看餐袋****");
System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t送餐地址\t总金额\t订单状态");
//利用for循环输出(序号-订单人-餐品信息-送餐时间-送餐地址-总金额-订单状态)
for (int j = 0; j < i; j++) {
System.out.println((j + 1) + "\t" + names[j] + "\t"
+ cai[j] + nums[j] + "份\t" + time[j] + "\t"
+ site[j] + "\t" + b[j] + "\t" + state[j]);
}
break;
case 3:
System.out.println("****签收订单****");
do {
System.out.println("请输入您要签收的订单:");
qian = bdqn.nextInt();
//输入要签收的订单,判断订单是否存在和是否已签收,若未签则执行签收
if (e == qian) {
System.out.println("订单已签收,不能再次签收!");
} else if (qian <= i) {
System.out.println("签收成功!");
state[qian - 1] = "签收";
e = qian;
break;
} else if (qian > i) {
System.out.println("没有该订单,请重新输入您要签收的订单:");
}
} while (qian > i);
break;
case 4:
System.out.println("***删除订单****");
System.out.println("请输入您要删除的订单:");
int c = bdqn.nextInt();
//输入要删除的订单,并判断是否签收(只有签收成功,才能执行删除,删除时所有关于订餐情况下标-1)
if (c <= i) {
if (state[c - 1].equals("签收")) {
for (int j = c - 1; j < i; j++) {
if (j + 1 > 3) {// 预防数组溢出
break;
}
names[j] = names[j + 1];
cai[j] = cai[j + 1];
nums[j] = nums[j + 1];
time[j] = time[j + 1];
site[j] = site[j + 1];
b[j] = b[j + 1];
state[j] = state[j + 1];
}
System.out.println("删除成功!");
i--;
e = 0;
} else {
System.out.println("您选择的订单,未签收,不能删除!");
}
} else {
System.out.println("没有此订单!");
}
break;
case 5:
System.out.println("****我要点赞****");
int l;
do {
System.out.println("请输入您要点赞的菜单:");
l = bdqn.nextInt();
switch (l) {// 每次选择点赞该商品+1
case 1:
zan[0]++;
System.out.println("点赞成功!");
break;
case 2:
zan[1]++;
System.out.println("点赞成功!");
break;
case 3:
zan[2]++;
System.out.println("点赞成功!");
break;
default:
System.out.println("无此商品序号!");
break;
}
} while (l > cai.length);
break;
case 6:
System.out.println("退出系统!");
break;
default:
System.out.println("您输入的数字没有相符合的系统,请重新选择:");
break;

}
if (choose == 6) {
break;
}
System.out.println("输入0返回:");
a = bdqn.nextInt();
} while (a == 0);
}
}

 

 

 

 

 

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