package Practice;
import java.util.Scanner;
public class Obj {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
String dishes[]={ "红烧肉" , "烧熊掌" , "清蒸鱼" , "白斩鸡" , "烤乳鸽" };
int price[]={ 58 , 88 , 45 , 56 , 44 };
int honors[]={ 50 , 100 , 20 , 12 , 44 };
int hot[]={ 5 , 4 , 3 , 2 , 0 };
String orders[][]= new String[ 1024 ][];
int chose= 0 ;
System.out. println( "欢迎关岭红浪漫餐厅" );
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.println( "请选择:" );
chose=sc.nextInt();
//订餐流程-------------------------------------------------------------------------------------
switch (chose) {
case 1 :
System.out.println( "***我要订餐***" );
System.out.println( "请输入订餐人姓名:" );
String name=sc.next();
System.out.println( "序号 菜品 单价 热度" );
for ( int i = 0 ; i < dishes.length; i++) {
System.out.println(i+ 1 + "\t\t" +dishes[i]+ "\t" +price[i]+ "元\t" + "\t" +hot[i]);
}
int dishNum= 0 ;
do {
System.out.println( "菜品编号" );
dishNum=sc.nextInt();
if ((dishNum< 1 ||dishNum>dishes.length)){
System.out.println( "对不起,输入有误,请重新输入!" );
}
} while (dishNum< 1 ||dishNum>dishes.length);
int pcs= 0 ;
do {
System.out.println( "份数" );
pcs=sc.nextInt();
if (pcs< 1 ){
System.out.println( "对不起,输入有误,请重新输入!" );
}
} while (pcs< 1 );
int time;
do {
System.out.println( "送餐时间" );
time=sc.nextInt();
if (time< 10 ||time> 22 ){
System.out.println( "对不起,输入有误,请重新输入!" );
}
} while (time< 10 ||time> 22 );
System.out.println( "地址" );
String addres=sc.next();
System.out.println( "success!" );
System.out.println(
"您定的商品信息是:" +dishes[dishNum]+ "\t" +dishNum+ "份" );
System.out.println( "送餐时间为" +time);
double cost=price[dishNum- 1 ]*pcs;
double sent=cost> 50 ? 0 : 6 ;
double total=cost+sent;
System.out.println( "餐费共计" +total+ " 其中快递费" +sent+ "元" );
for ( int i = 0 ; i < orders.length; i++) {
if (orders[i]== null ){
orders[i]= new String[ 3 ];
orders[i][ 0 ]=name+ "\t" +dishes[dishNum- 1 ]+ "\t"
+pcs+ "份\t" +time+ "\t" +addres+ "\t" +cost+ "元" ; //orders第一存储 菜品信息
orders[i][ 1 ]= "已预定" ; //orders第二存储 订单信息
break ;
}
}
break ;
//查看餐袋------------------------------------------------------------------------------
case 2 :
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\t" +orders[i][ 1 ]);
} else {
break ;
}
}
break ;
//订单签收----------------------------------------------------------------------------
case 3 :
System.out.println( "***签收订单***" );
int num;
int end= 0 ;
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\t" +orders[i][ 1 ]);
} else {
break ;
}
}
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< 0 ||num>end){
System.out.println( "输入有误" );
} else if ( "已预定" .equals(orders[num- 1 ][ 1 ])){
orders[num- 1 ][ 1 ]= "已完成" ;
System.out.println( "订单已完成" );
break ;
} else {
System.out.println( "订单已签收,不能重复签收" );
break ;
}
} while (num< 1 ||num>end|| "已预定" .equals(orders[num- 1 ][ 1 ]));
break ;
//删除订单------------------------------------------------------------------------
case 4 :
System.out.println( "***删除订单***" );
int n= 0 ; //输入数字
int e= 0 ; // 订单的最大数量
System.out.println( "序号\t订餐人 \t餐品信息 \t送餐时间 \t地址 \t总金额 \t状态" );
for ( int i = 0 ; i < orders.length; i++) {
if (orders[i]!= null ){
System.out.print(i+ 1 + "\t" +orders[i][ 0 ]+ "\t" +orders[i][ 1 ]+ "\t" );
System.out.println( "\t " +orders[i][ 1 ]);
} else {
break ;
}
}
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( "err" );
} else if ( ! "已完成" .equals(orders[n- 1 ][ 1 ])){
System.out.println( "订单未完成,不能删除" );
break ;
} else {
boolean isDelete= false ;
for ( int i = n- 1 ; i < orders.length; i++) {
if (i==orders.length- 1 ){
orders[i]= null ;
isDelete= true ; //
} else {
orders[i]=orders[i+ 1 ]; //前移
if (orders[i]== null ){
isDelete= true ;
break ;
}
}
}
}
} while (n< 1 ||n>e|| "已完成" .equals(orders[n][ 1 ]));
break ;
//我要点赞----------------------------------------------------------------------------
case 5 :
System.out.println( "***我要点赞***" );
int hp= 0 ;
System.out.println( "请选择点赞菜品:" );
hp=sc.nextInt();
if (hp< 1 ||hp>dishes.length){
System.out.println( "对不起,输入有误,请重新输入!" );
} else {
hot[hp- 1 ]++;
}
break ;
//退出系统------------------------------------------------------------------------------------
default :
System.out.println( "6、退出系统" );
}
//switch结束--------------------------------------------------------------------------------------
if (chose> 0 &&chose< 6 ){
System.out.println( "输入0返回!" );
chose=sc.nextInt();
} else {
break ;
}
//-----------------------------------------------------------------------------
} while (chose== 0 );
System.out.println( "输入0返回!" );
}
}
|