制作一个订餐程序
public static void main(String[] args) {
final double No_Send_Money=80;
String[] dishes={"东坡肉","地锅鸡","水煮鱼","佛跳墙"}; //菜单
double[] price={45,38,28,99}; //价格
String[][] bills=new String[1000][]; //订单信息
int[] like={11,22,33,44}; //点赞
int choseNum;
String name=null;
int pcs=0;
int time=0;
String address=null;
String status=null;
Scanner sc=new Scanner(System.in);
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("请输入订单人姓名:");
name = sc.next();
System.out.println("序号\t菜品\t单价");
for (int i = 0; i < dishes.length; i++) {
System.out.println(i + 1 + "\t" + dishes[i] + "\t" + price[i] + "元");
}
do {
System.out.print("请选择您要的菜品编号:");
choseNum = sc.nextInt();
if (choseNum > 0 && choseNum <= dishes.length) break;
System.out.print("您的输入有误,请重新输入!");
} while (true);
do {
System.out.print("请选择您要的份数:");
pcs = sc.nextInt();
if (pcs > 0) break;
System.out.println("份数不能小于0,请重新输入!");
} while (true);
do {
System.out.print("请输入送餐时间(10点至20点整送餐):");
time = sc.nextInt();
if (time >= 0 && time <= 20) break;
System.out.println("输入有误,重新输入!");
} while (true);
System.out.print("请输入送餐地址:");
address = sc.next();
System.out.println("订餐成功!");
System.out.println("您订的是:" + dishes[choseNum - 1]);
System.out.println("送餐时间:" + time + "点");
double dishprice = price[choseNum - 1] * pcs;
int sendMoney = 0;
if (dishprice < No_Send_Money) {
sendMoney = 6;
}
double totalPrice = dishprice + sendMoney;
System.out.println("餐费:" + dishprice + "元,送餐费" + sendMoney + "元,总计:" + totalPrice + "元");
//插入订单,遍历订单,如果为空,则插入
for (int i = 0; i < bills.length; i++) {
if (bills[i] == null) {
bills[i] = new String[6];
bills[i][0] = name;
bills[i][1] = dishes[choseNum - 1] + " " + pcs + "份";
bills[i][2] = time + "点";
bills[i][3] = address;
bills[i][4] = totalPrice + "元";
bills[i][5] = "已预订";
break;
}
}
System.out.print("输入0返回:");
chose = sc.nextInt();
break;
case 2:
System.out.println("***查看餐袋***");
System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t送餐地址\t总金额\t订单状态");
for (int i = 0; i < bills.length; i++) {
if (bills[i] == null) {
break;
}
System.out.println(i + 1 + "\t" + bills[i][0] + "\t"
+ "\t" + bills[i][1] + "\t" + bills[i][2] + "\t"
+ "\t" + bills[i][3] + "\t" + bills[i][4] + "\t" + bills[i][5]);
}
System.out.print("输入0返回:");
chose = sc.nextInt();
break;
case 3:
System.out.println("***签收订单***");
if (bills[0]==null){
System.out.println("订单为空,不可签收!");
System.out.print("输入0返回");
chose=sc.nextInt();
break;
}
System.out.println("序号\t订餐人\t餐品信息\t总金额\t订单状态");
int n;
for (n = 0; n < bills.length; n++) {
if (bills[n] == null){
break;
}
System.out.println(n+1+"\t" + bills[n][0] + "\t"
+ "\t" + bills[n][1]+"\t" + bills[n][4] + "\t" + bills[n][5]);
}
int signNum;
do {
System.out.print("请选择要签收的订单编号:");
signNum=sc.nextInt();
if (signNum>0&&signNum<=n)break;
System.out.println("订单不存在,重新输入!!");
}while(true);
if(bills[signNum-1][5].equals("已完成"))
System.out.println("订单已完成签收,不需要重复签收");
else
bills[signNum-1][5]="已完成";
System.out.print("输入0返回:");
chose=sc.nextInt();
break;
case 4:
System.out.println("***删除订单***");
if (bills[0]==null){
System.out.println("订单为空,不可删除!");
System.out.print("输入0返回");
chose=sc.nextInt();
break;
}
System.out.println("序号\t订餐人\t餐品信息\t总金额\t订单状态");
int s=0;
for (; s < bills.length; s++) {
if (bills[s] == null){
break;
}
System.out.println(s+1+"\t" + bills[s][0] + "\t"
+ "\t" + bills[s][1]+"\t" + bills[s][4] + "\t" + bills[s][5]);
}
int delNum;
do {
System.out.print("请选择要删除的订单编号:");
delNum=sc.nextInt();
if (bills[0]==null)break;
if (delNum>0&&delNum<=s)break;
System.out.println("订单不存在,重新输入!");
}while(true);
//删除订单需要考虑选择的订单删除后,后面的订单需要前移
//未完成的订单不能删除
if (!bills[delNum-1][5].equals("已完成"))
System.out.println("未完成的订单不能删除!");
else{
for (int k=delNum-1;bills[k]!=null;s++){
if (delNum==bills.length){
bills[delNum-1]=null;
}else{
bills[k]=bills[k+1];
}
}
System.out.println("删除完成!");
}
System.out.print("输入0返回:");
chose=sc.nextInt();
break;
case 5:
System.out.println("***我要点赞***");
System.out.println("序号\t菜品\t单价\t点赞数");
for (int j = 0; j < dishes.length; j++) {
System.out.println(j+1+"\t"+dishes[j]+"\t"+price[j]+"元"+like[j]);
}
int likeNum;
do {
System.out.print("请选择要点赞的菜品:");
likeNum= sc.nextInt()
if (likeNum>0&&likeNum<=like.length)break;;
System.out.println("没有这个菜品,请重新输入:");
}while(true);
like[likeNum-1]++;
System.out.print("输入0返回:");
chose=sc.nextInt();
}
}while(chose==0);
System.out.println("谢谢使用,欢迎下次光临!");
}
版权声明:本文为timicai原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。