package cn.itcast.page1;
import java.util.Scanner;
public class Ordering {
public static void main(String[] args) {
//订单数据主体
int[] orderIds = new int[4];
String[] customers = new String[4];
String[] dishNames = new String[4];
int[] times = new int[4];
String[] adresses = new String[4];
int[] numbers = new int[4];
int[] totalPrice = new int[4];
int[] status = new int[4];
//初始化两条订单
orderIds[0] = 1;
customers[0] = "张三";
dishNames[0] = "红烧带鱼";
times[0] = 13;
adresses[0] = "天泰二路9号";
numbers[0] = 2;
totalPrice[0] = 60;
status[0] = 1;
orderIds[1] = 2;
customers[1] = "李四";
dishNames[1] = "烧鸭";
times[1] = 13;
adresses[1] = "天泰二路9号";
numbers[1] = 1;
totalPrice[1] = 42;
status[1] = 1;
//餐品数据主体
int[] dishIds = {1,2};
String[] dishNames1 = {"红烧带鱼", "烧鸭"};
int[] price = {30, 36};
int[] totalPraises = {30 , 36};
//
int chooseNum;
boolean isExit = false;
Scanner input = new Scanner(System.in); //System.in表示标准输入,通常指从键盘输入数据;
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("请输入功能编号:");
//每个break仅跳出最内层的循环体,一般用在循环体中符合条件的条件操作最末处
chooseNum = input.nextInt();
switch (chooseNum) {
case 1:
System.out.println("1.我要订餐");
try{
boolean isAddFind = false;
int orderIndex = -1;
for (int i = 0; i < dishNames.length; i++) {
isAddFind = true;
orderIndex = i;
//显示菜品
System.out.println("菜品编号\t菜品名称\t单价\t点赞数");
for(int j = 0; j < dishNames1.length; j++){
System.out.println(dishIds[j]+"\t"+dishNames1[j]+"\t"+price[j]+"元"+"\t"+ totalPraises[j]+"赞");
}
System.out.print("选择菜品序号:");
chooseNum = input.nextInt();
for(int j = 0; j < dishNames1.length; j++){
if(chooseNum==dishIds[j]){
System.out.print("请输入份数:");
int number = input.nextInt();
System.out.print("请输入订单人姓名:");
String customer = input.next();
System.out.print("请输入10~20之间的整数送餐时间:");
int time = input.nextInt();
while(time > 20 || time < 10){
System.out.print("请重新输入送餐时间:");
time = input.nextInt();
}
System.out.print("请输入送餐地址:");
String adresse = input.next();
//显示订单信息
int orderId = orderIndex + 1;
String dishName = dishNames1[j];
int dishPrice = price[j]*number;
int song = dishPrice > 50 ? 0:6;
totalPrice[orderIndex] = dishPrice + song;
System.out.println("*****************订单信息********************");
System.out.println("订单人姓名:"+customer);
System.out.println("菜品名称:"+dishName);
System.out.println("份数:"+number);
System.out.println("送餐时间:"+time+"点");
System.out.println("送餐地址:"+adresse);
System.out.println("菜品金额:"+dishPrice);
System.out.println("送餐费:"+song);
System.out.println("总额:"+totalPrice[orderIndex]);
orderIds[orderIndex] = orderId;
customers[orderIndex] = customer;
dishNames[orderIndex] = dishName;
times[orderIndex] = time;
adresses[orderIndex] = adresse;
numbers[orderIndex] = number;
status[orderIndex] = 0;
//遍历到符合条件的记录再跳出,for循环首层不宜跳出
break;
}
}
//遍历到符合条件的记录再跳出,for循环首层不宜跳出
break;
}
if(!isAddFind){
System.out.println("对不起,订单已满!");
}
}catch (Exception e){
e.printStackTrace();
}
break;
case 2:
System.out.println("2.查看餐袋");
try{
System.out.println("订单编号\t客户名称\t菜品名称\t配送时间\t配送地址\t\t份数\t总金额\t订单状态");
for(int i = 0;i < dishNames.length; i++){
if(dishNames[i]!=null){
String sta = status[i]==0 ? "已预订":"已签收";
System.out.println(orderIds[i]+"\t"+customers[i]+"\t"+dishNames[i]+"\t"+times[i]+"点"+"\t"+adresses[i]+"\t"+numbers[i]+"份"+"\t"+totalPrice[i]+"元"+"\t"+sta);
}
}
}catch(Exception e){
e.printStackTrace();
}
break;
case 3:
System.out.println("3.删除订单");
System.out.print("请输入要删除的订单编号:");
chooseNum = input.nextInt();
boolean isDelFind = false;
for(int i = 0; i < dishNames.length; i++){
if(dishNames[i]!=null){
String sta = status[i]==0 ? "已预订":"已签收";
System.out.println(orderIds[i]+"\t"+customers[i]+"\t"+dishNames[i]+"\t"+times[i]+"点"+"\t"+adresses[i]+"\t"+numbers[i]+"份"+"\t"+totalPrice[i]+"元"+"\t"+sta);
}
if(chooseNum == orderIds[i] && status[i] == 1){
isDelFind = true;
for(int j = chooseNum; j < dishNames.length; j++){
orderIds[j-1] = orderIds[j];
customers[j-1] =customers[j];
dishNames[j-1] = dishNames[j];
times[j-1] = times[j];
adresses[j-1] = adresses[j];
numbers[j-1] = numbers[j];
totalPrice[j-1] = totalPrice[j];
status[j-1] = status[j];
}
orderIds[dishNames.length-1] = 0;;
customers[dishNames.length-1] = null;
dishNames[dishNames.length-1] = null;
times[dishNames.length-1] = 0;
adresses[dishNames.length-1] = null;
numbers[dishNames.length-1] = 0;
totalPrice[dishNames.length-1] = 0;
status[dishNames.length-1] = 0;
break;
}else if(chooseNum == orderIds[i] && status[i] == 0){
isDelFind = true;
System.out.println("对不起,该订单还未签收,不能删除!");
break;
}
}
if(!isDelFind){
System.out.println("没有找打要删除的订单!");
}
break;
case 4:
System.out.println("4.签收订单");
System.out.print("请输入要签收的订单编号:");
chooseNum = input.nextInt();
boolean isGetFind = false;
for(int i=0;i<dishNames.length;i++){
if(chooseNum==orderIds[i] && status[i]==0){
isGetFind = true;
status[chooseNum-1] = 1;
System.out.println("订单签收成功!");
break;
}else if(chooseNum==orderIds[i] && status[i]==1){
isGetFind = true;
System.out.println("该订单已签收过,不能再次签收!");
break;
}
}
if(!isGetFind){
System.out.println("对不起,没有找到要签收的订单!");
}
break;
case 5:
System.out.println("5.我要点赞");
boolean isZanFind = false;
System.out.println("菜品序号\t菜品名称\t单价\t点赞数");
for(int i=0;i<dishNames1.length;i++){
if(dishNames1[i]!=null){
System.out.println(dishIds[i]+"\t"+dishNames1[i]+"\t"+price[i]+"元\t"+totalPraises[i]+"赞\t");
}
}
System.out.print("请输入要点赞的菜品序号:");
chooseNum = input.nextInt();
for(int i=0;i<dishNames1.length;i++){
if(chooseNum == dishIds[i]){
isZanFind = true;
totalPraises[i]++;
break;
}
}
if(!isZanFind){
System.out.println("对不起,您要点赞的菜品不存在!");
}
break;
case 6:
isExit = true;
break;
default:
break;
}
if(!isExit){
System.out.print("输入0返回(输入别的任意数字退出系统):");
chooseNum = input.nextInt();
}
}while(chooseNum==0);
System.out.println("退出系统,欢迎再次惠顾!");
input.close();
}
}
Java初学(7)——吃货联盟代码
最新推荐文章于 2023-05-31 14:28:51 发布