public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//菜品
String[] dishes = {"1红烧肉","开水白菜","1佛跳墙","蜜汁熊掌"};
//菜品对应的价格
double[] price = {18,12,68,88};
//菜品对应的点赞数
int[] honors = {50,100,20,12};
//订单
String[][] orders = new String[100][];
//欢迎页
int chose = 0;
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("请选择:");
chose = sc.nextInt();
switch (chose){
case(1):
System.out.println("***我要订餐***");
System.out.print("请输入订餐人姓名:");
String name = sc.next();
//菜单信息
System.out.println("序号\t菜品\t\t单价");
for (int i = 0; i < dishes.length; i++) {
System.out.println((i+1)+"\t"+dishes[i]+"\t"+price[i]+"元");
}
int dishNum = 0;
do {
System.out.print("请选择您要点的菜品的编号:");
dishNum = sc.nextInt();
if (dishNum<1 || dishNum>dishes.length){
System.out.print("对不起,您的输入有误,请重新输入!");
}
}while (dishNum<1 || dishNum>dishes.length);
int pcs = 0;
do {
System.out.print("请选择您需要的份数:");
pcs = sc.nextInt();
if (pcs<=0){
System.out.print("对不起,您的输入有误,请重新输入!");
}
}while (pcs<=0);
int time = 0;
do {
System.out.print("请输入送餐时间(10点-20点整点):");
time = sc.nextInt();
if (time<10||time>20){
System.out.print("对不起,您的输入有误,请重新输入!");
}
}while (time<10||time>20);
System.out.print("请输入送餐地址:");
String address = sc.next();
System.out.println("订餐成功");
System.out.println("您订的是"+dishes[dishNum-1]+"\t"+pcs+"份");
System.out.println("送餐时间:"+time+"点");
double cos = price[dishNum-1]*pcs;
double sent = cos>50?0:6;
double total = cos + sent;
System.out.println("餐费:"+cos+"元,送餐费"+sent+"元,总计"+total+"元");
for (int i = 0; i < orders.length; i++) {
if(orders[i]==null){
orders[i] = new String[2];
orders[i][0] = name+"\t"+dishes[dishNum-1]+pcs+"份\t"+time+"点\t"+address+"\t"
+total+"元";
orders[i][1] = "已预订";
break;
}
}
break;
case(2):
System.out.println("***查看餐袋***");
System.out.println("序号\t订餐人\t产品信息\t送餐时期\t送餐地址\t总金额\t订单状态");
for (int i = 0; i < orders.length; i++) {
if (orders[i] != null){
System.out.println((i+1)+"\t"+orders[i][0]+"\t"+orders[i][1]);
}else {
break;
}
}
break;
case(3):
System.out.println("***签收订单***");
System.out.println("序号\t订餐人\t产品信息\t送餐时期\t送餐地址\t总金额\t订单状态");
for (int i = 0; i < orders.length; i++) {
if (orders[i] != null){
System.out.println((i+1)+"\t"+orders[i][0]+"\t"+orders[i][1]);
}else {
break;
}
}
int num = 0;
int end = 0;
do {
System.out.println("请选择要签收订单的序号");
for (int i = 0; i < orders.length; i++) {
if (orders[i]==null){
end = i+1;
break;
}
}
num = sc.nextInt();
if (num < 1 || num>end){
System.out.println("输入有误,请重新输入");
}else if ("已完成".equals(orders[num-1][1])){
System.out.println("订单已签收,不能重复签收");
}else {
orders[num-1][1] = "已完成";
break;
}
}while (num < 1 || num>end ||"已预订".equals(orders[num-1][1]));
break;
case(4):
System.out.println("***删除订单***");
System.out.println("序号\t订餐人\t产品信息\t送餐时期\t送餐地址\t总金额\t订单状态");
for (int i = 0; i < orders.length; i++) {
if (orders[i] != null){
System.out.println((i+1)+"\t"+orders[i][0]+"\t"+orders[i][1]);
}else {
break;
}
}
int n = 0;
int e = 0;
do {
for (int i = 0; i < orders.length; i++) {
if (orders[i] == null){
e = i;
break;
}
}
System.out.println("请输入要删除订单的序号");
n = sc.nextInt();
if (n<1||n>e){
System.out.println("输入有误,请重新输入");
}else if (!"已完成".equals(orders[n-1][1])){
System.out.println("未完成的订单不能删除");
}else {
boolean isDelete = false;
for (int i = n-1; i < orders.length; i++) {
if (n==orders.length-1){
orders[i] = null;
isDelete = true;
}else {
orders[i] = orders[i+1];
if (orders[i]==null){
isDelete = true;
break;
}
}
}
if (isDelete){
break;
}
}
}while (n<1||n>e||"已完成".equals(orders[n-1][1]));
break;
case(5):
System.out.println("***我要点赞***");
System.out.println("序号\t产品信息");
for (int i = 0; i < orders.length; i++) {
if (orders[i] != null){
System.out.println((i+1)+"\t"+orders[i][0]+"\t"+orders[i][1]);
}else {
break;
}
}
int x = 0;
int y = 0;
do {
System.out.println("请输入您要点赞的餐品");
x = sc.nextInt();
for (int i = 0; i < orders.length; i++) {
if (orders[i]==null){
y = i;
break;
}
}
if (x<1||x>y){
System.out.println("您输入的信息有误,请重新输入");
} else {
for (int i = 0; i < orders.length-1; i++) {
if ((i+1)==x){
honors[i]++;
System.out.println("点赞成功,"+(i+1)+"的餐品赞数为"+honors[i]);
break;
}
}break;
}
}while (x<1||x>y);
break;
default:
break;
}
if(chose>0&&chose<6){
System.out.println("输入0返回");
chose = sc.nextInt();
}else {
break;
}
}while (chose==0);
System.out.println("谢谢使用,欢迎下次光临");
}
11-18
880
12-02
228
04-27
7926