import java.util.Scanner;
/**
*吃货联盟系统
*/
public class GoodForNothing{
public static void main (String [] args) {
//准备一个菜单数组//遍历
String [][] menus = new String[5][4];
menus[0][0] = "1";menus[0][1] = "宫保鸡丁";menus[0][2] = "30";menus[0][3] = "0";
menus[1][0] = "2";menus[1][1] = "开水白菜";menus[1][2] = "120";menus[1][3] = "0";
menus[2][0] = "3";menus[2][1] = "酸菜鱼";menus[2][2] = "40";menus[2][3] = "0";
menus[3][0] = "4";menus[3][1] = "辣子找鸡";menus[3][2] = "80";menus[3][3] = "0";
menus[4][0] = "5";menus[4][1] = "鱼香肉丝";menus[4][2] = "20";menus[4][3] = "0";
//准备一个订单数组20行10列
String [][] orders = new String[20][10];
//订单编号变量
int odn = 1;
Scanner input = new Scanner(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("您的选择:");
int opt = input.nextInt();
switch(opt) {
case 1:
String ans = "y";
do{
System.out.println("========菜品选择========");
for ( int row =0 ; row < 5 ;row++) {
for (int col = 0; col < 4 ;col++ ) {
System.out.print(menus[row][col]+" ");
}
System.out.println();
}
System.out.print("请选择您需要的菜品:");
int menuOpt = input.nextInt();
System.out.print("请输入购买数量:");
int buynum = input.nextInt();
System.out.print("请输入收货人:");
String man = input.next();
System.out.print("请输入联系电话:");
String tel = input.next();
System.out.print("请输入收货地址:");
String addr = input.next();
//搜索空行存放对应的订单
for ( int row=0;row < orders.length;row++ ) {
if ( orders[row][0] == null) {
orders[row][0] = (odn)+"";
orders[row][1] = menus[menuOpt-1][1];
orders[row][2] = buynum+"";
orders[row][3] = addr;
orders[row][4] = man;
orders[row][5] = tel;
orders[row][6] = menus[menuOpt-1][2];
//Integer.parseInt(字符串) ==> 将字符串转成数字
orders[row][7] = buynum*Integer.parseInt(menus[menuOpt-1][2])+"";
orders[row][8] = "已发货";
orders[row][9] = "0";
odn++;
break;
}
}
System.out.println("您已经下单,稍后请注意查收");
System.out.println("您是否需要继续进行购买菜品(y/n)");
ans = input.next();
}while(ans.equals("y"));
break;
case 2:
System.out.println("================您的订单================");
for ( int row=0;row < orders.length;row++ ) {
if( orders[row][0]==null ) {
break;
}
for (int col=0;col < orders[row].length;col++) {
System.out.print(orders[row][col]+"\t");
}
System.out.println();
}
break;
case 3:
System.out.println("================您要签收的订单================");
for ( int row=0;row < orders.length;row++ ) {
if( orders[row][0]==null ) {
break;
}
for (int col=0;col < orders[row].length;col++) {
System.out.print(orders[row][col]+"\t");
}
System.out.println();
}
System.out.println("您的选择:");
int ordOpt = input.nextInt();
//先搜索订单的位置(行数)数组下标
int pos = -1;
for ( int i=0; i < orders.length && orders[i][0]!=null;i++ ) {
if( ordOpt == Integer.parseInt(orders[i][0])) {
pos = i;
}
}
//修改第ordOpt-1行的第9个单元格数据
//验证用户输入的数字必须小于订单的最大数量
if ( pos!=-1 ) {
orders[ordOpt-1][8]="已签收";
} else{
System.out.println("请输入正确的订单号");
}
break;
case 4:
System.out.println("================您要删除的订单================");
for ( int row=0;row < orders.length;row++ ) {
if( orders[row][0]==null ) {
break;
}
for (int col=0;col < orders[row].length;col++) {
System.out.print(orders[row][col]+"\t");
}
System.out.println();
}
System.out.println("您的选择:");
int od = input.nextInt();
//先搜索订单的位置(行数)数组下标
int pos1 = -1;
for ( int i=0; i < orders.length && orders[i][0]!=null;i++ ) {
if( od == Integer.parseInt(orders[i][0])) {
pos1 = i;
}
}
//判断订单首先是否在范围内
if ( pos1!=-1 ) {
//判断订单是否能删除
if ("已签收".equals(orders[od-1][8])) {
System.out.println(od+"号订单已经签收不能删除");
}else{
//删除订单
for ( int i = od-1;i< orders.length-1;i++) {
orders[i]=orders[i+1];
}
orders[orders.length-1]=null;
//扣减一个订单数量
}
} else{
System.out.println("请输入正确的订单号");
}
break;
case 5:
System.out.println("================您要点赞的订单================");
for ( int row=0;row < orders.length;row++ ) {
if( orders[row][0]==null ) {
break;
}
for (int col=0;col < orders[row].length;col++) {
System.out.print(orders[row][col]+"\t");
}
System.out.println();
}
System.out.println("您要为哪个订单点赞:");
String ordno = input.next();
//搜索订单在数组中的位置
int pos2 = -1;
for ( int i=0; i < orders.length && orders[i][0]!=null;i++ ) {
if( ordno.equals( orders[i][0])) {
pos2 = i;
}
}
if ( pos2!=-1) {
//点赞数+1 订单表点赞
orders[pos2][9]=(Integer.parseInt(orders[pos2][9])+1)+"";
//同时在菜单表上对对应菜品添加点赞数
//搜索菜品的名称
String foodName = orders[pos2][2];
//搜索菜单表中对应菜品的位置
int fnPos = -1;
for ( int i=0;i<menus.length.i++) {
if ( foodName.equals(menus[i][1])) {
menus[i][3]=(Integer.parseInt(menus[i][3])+1)+"";
break;
}
}
}else {
System.out.println("未找到对应订单");
}
break;
default:
System.out.println("感谢使用吃货联盟系统");
System.exit(0);
}
}while(true);
}
}