1、
package com.dingcanxitong3;//创建一个订餐的接口public interface DingCan { public void dingcan(); }
package com.dingcanxitong3;//创建一个查看餐袋的接口public interface ChaKan { public void chakan();}
package com.dingcanxitong3;//创建一个签收接口public interface QianShou { public void qianshou();}
package com.dingcanxitong3;//创建一个删除接口public interface ShanChu { public void shanchu();}
package com.dingcanxitong3;//创建一个退出的接口public interface TuiChu { public void tuichu();}
package com.dingcanxitong3;//创建一个点赞接口public interface DianZan { public void dianzan();}
package com.dingcanxitong3;//创建一个功能的类实现各个功能接口import java.util.Scanner;public class Functions implements DingCan,ChaKan,QianShou,ShanChu,DianZan,TuiChu{ int length = 5; String[] names = new String[length];//订餐人 String[] descs = new String[length];//订单餐品信息 int[] dates =new int[length];//送餐日期 String[] addresses = new String[length];//送餐地址 double[] moneys = new double[length];//总价 boolean[] status = new boolean[length];//订餐状态:true:完成;false未完成 int[] nums = new int[length];//订餐数量 String [] foods = {"红烧鱼","蛋炒饭","黄焖鸡"}; double [] prices = {15.00,10.00,16.00}; int [] zan = {10,20,30}; Scanner sc = new Scanner(System.in); @Override public void dingcan() { // TODO Auto-generated method stub System.out.println("****我要订餐****"); int index = -1;//定义要添加的位置下标 for(int i = 0 ;imax) { //如果输入的值小于0或者大于菜品数组不为空的最大下标 System.out.println("不存在此编号菜品,请重新输入:"); //提示 } } while (id<1||id>max); descs[index] = foods[id-1]; //把菜品数组下标为输入的值减一上的值,赋值给餐品信息数组index上的 System.out.println("请选择您需要的份数:"); int num = sc.nextInt(); //定义份数num 接收控制台输入的数据 nums[index] = num; //把控制台上的数据赋值给数组下标为index的值 System.out.println("请输入送餐时间(送餐时间是10点至20点间整点送餐)"); int date = 0; //定义输入的时间date do { date = sc.nextInt(); //接收 if(date<10||date>20) { //如果输入的时间小于10或者大于20 System.out.println("您的输入有误,请输入10~20间的整数!:"); //提示 } } while (date<10||date>20); dates[index] = date; //把输入的时间辅助给时间数组下标为index上 System.out.println("请输入送餐地址:"); addresses[index] = sc.next(); //把输入地址赋值给地址数组下标为index上 double money = prices[id-1]*num; //把菜品的价格乘于份数 赋值给定义的money System.out.println("订餐成功:"); System.out.println("您订的是:"+foods[id-1]+" "+num+"份"); System.out.println("送餐时间:"+date+"点"); double song = 0.0; //定义送餐费 if(money<20) { //如果订餐的价格小于20 song = 3.0; //送餐费增加3.0元 } moneys[index] = money+song; //把定餐的价格和送餐费赋值给总价格数组下标为index上的值 System.out.println("餐费:"+money+"。送餐费:"+song+"元,总计:"+(money+song)+"元"); } } @Override public void chakan() { // TODO Auto-generated method stub System.out.println("****查看餐袋****"); System.out.println("序号\t订餐人\t餐品信息\t\t送餐日期\t\t送餐地址\t\t总金额\t订单状态"); for(int i = 0;i descs.length) { //如果订单编号小于1,且大于订餐信息数组的最大下标 isTrue = true; }else { if(descs[id-1]==null) { //如果订餐信息数组下标“要签收订单编号减一”上的值为空 isTrue = true; }else { isTrue = false; //否则 } } if(isTrue) { System.out.println("不存在此编号的订单信息,请重新输入:"); } } while (isTrue); status[id-1] = true; //把true赋值给 状态数组下标为要签收的订单序号减一 System.out.println("签收完成"); //提示 } @Override public void shanchu() { // TODO Auto-generated method stub System.out.println("****删除订单****"); System.out.println("请输入要删除的订单编号:"); int big = length; //定义下标 for(int i = 0;i big) { //如果输入的值小于1 或大于订餐信息数组不为空的最大的下标 System.out.println("不存在此编号菜品,请重新输入:"); //提示 } } while (no<1||no>big); if(status[no-1]==false) { //如果状态数组下标为要删除的序号减一的值==未完成 System.out.println("订单未完成,不能删除"); //提示 }else { for(int i=no-1;i max) { //如果编号为小于1或大于菜单不为空的最大数组下标时 System.out.println("不存在此编号菜品,请重新输入:"); } } while (bianhao<1||bianhao>max); zan[bianhao-1]++; //点赞数组下标输入的编号减一的值自加 System.out.println("点赞成功,谢谢您的反馈"); } @Override public void tuichu() { // TODO Auto-generated method stub System.out.println("****退出系统****"); System.out.println("谢谢使用"); //退出系统 System.exit(1); }}
package com.dingcanxitong3;import java.util.Scanner;//創建一個側四類public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Functions fun = new Functions(); int choose; do { System.out.println("******************************"); System.out.println("1、我要订餐 2、查看餐袋 3、签收订单 4、删除订单 5、我要点赞 6、退出系统"); System.out.println("请选择功能的编号(1-6):"); choose = sc.nextInt(); switch(choose) { case 1: fun.dingcan(); break; case 2: fun.chakan(); break; case 3: fun.qianshou(); break; case 4: fun.shanchu(); break; case 5: fun.dianzan(); break; case 6: fun.tuichu(); break; } }while(choose<7); }}