重写吃货联盟
Posted dean-0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重写吃货联盟相关的知识,希望对你有一定的参考价值。
需求:根据所学面的向对象以及集合知识,重写吃货联盟
1 /** 2 * @author Administrator 3 * 菜单类 4 */ 5 public class Mune 6 private int num;//菜单序号 7 private String muneNmae;//菜品名 8 private double price;//菜品单价 9 private int Zan;//点赞数 10 public Mune(int num, String muneNmae, double price, int zan) 11 super(); 12 this.num = num; 13 this.muneNmae = muneNmae; 14 this.price = price; 15 Zan = zan; 16 17 public int getNum() 18 return num; 19 20 public void setNum(int num) 21 this.num = num; 22 23 public String getMuneNmae() 24 return muneNmae; 25 26 public void setMuneNmae(String muneNmae) 27 this.muneNmae = muneNmae; 28 29 public double getPrice() 30 return price; 31 32 public void setPrice(double price) 33 this.price = price; 34 35 public int getZan() 36 return Zan; 37 38 public void setZan(int zan) 39 Zan = zan; 40 41 42 43 44 45 46 /** 47 * @author Administrator 48 * 菜单初始化以及编写响应功能 49 */ 50 public class MuneInfo 51 public static Mune[] mune = new Mune[10]; 52 static 53 //菜品名、价格、点赞数 54 mune[0] = new Mune(1, "红烧带鱼", 38.0, 555); 55 mune[1] = new Mune(2, "鱼香肉丝", 15.0, 333); 56 mune[2] = new Mune(3, "时令鲜疏", 10.0, 222); 57 58 59 //打印菜单 60 public static void toprint() 61 System.out.println("序号\\t\\t菜名\\t\\t单价\\t\\t点赞数\\t\\t"); 62 for(Mune mu : mune) 63 if(mu != null) 64 System.out.println(mu.getNum()+"\\t\\t"+mu.getMuneNmae()+"\\t\\t"+mu.getPrice()+"\\t\\t"+mu.getZan()); 65 66 67 68 69 //查询菜单 70 public static void findInfo(int i) 71 System.out.println("序号\\t\\t菜名\\t\\t单价\\t\\t点赞数\\t\\t"); 72 System.out.println(mune[i-1].getNum()+"\\t\\t"+mune[i-1].getMuneNmae()+"\\t\\t" 73 +mune[i-1].getPrice()+"\\t\\t"+mune[i-1].getZan()); 74 75
/** * @author Administrator * 餐袋信息 */ public class OrderInfo private int xuhao;//序号 private String names;//用户名字 private String Dishes;//菜品 private int count;//份数 private int time;//送餐时间 private String address;//送餐地址 private double moneys;//总价格 private String state;//订单状态 public OrderInfo(int xuhao, String names, String dishes, int count, int time, String address, double moneys, String state) super(); this.xuhao = xuhao; this.names = names; Dishes = dishes; this.count = count; this.time = time; this.address = address; this.moneys = moneys; this.state = state; public int getXuhao() return xuhao; public void setXuhao(int xuhao) this.xuhao = xuhao; public String getNames() return names; public void setNames(String names) this.names = names; public String getDishes() return Dishes; public void setDishes(String dishes) Dishes = dishes; public int getCount() return count; public void setCount(int count) this.count = count; public int getTime() return time; public void setTime(int time) this.time = time; public String getAddress() return address; public void setAddress(String address) this.address = address; public double getMoneys() return moneys; public void setMoneys(double moneys) this.moneys = moneys; public String getState() return state; public void setState(String state) this.state = state; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class OrderInfoInit public static List<OrderInfo> orderinfo = new ArrayList<>(); //public static OrderInfo[] orderinfo = new OrderInfo[10]; static orderinfo.add(new OrderInfo(1,"张三","红烧鱼",1,14,"天成路207号",38.0,"已完成")); orderinfo.add(new OrderInfo(2,"李四","鱼香肉丝",2,14,"天成路207号",38.0,"已预订")); public static void toprint() System.out.println("序号\\t\\t订餐人\\t\\t餐品信息\\t\\t份数\\t\\t送餐时间\\t\\t送餐地址\\t\\t总金额\\t\\t订单状态"); Iterator<OrderInfo> it = orderinfo.iterator(); while(it.hasNext()) OrderInfo str = it.next(); System.out.println(str.getXuhao()+"\\t\\t"+str.getNames() +"\\t\\t"+str.getDishes()+"\\t\\t"+str.getCount()+"\\t\\t"+str.getTime()+"\\t\\t" +str.getAddress()+"\\t"+str.getMoneys()+"\\t\\t"+str.getState()); public static void findInfo(int i) System.out.println("序号\\t\\t订餐人\\t\\t餐品信息\\t\\t份数\\t\\t送餐时间\\t\\t送餐地址\\t\\t总金额\\t\\t订单状态"); System.out.println(orderinfo.get(i-1).getXuhao()+"\\t\\t"+orderinfo.get(i-1).getNames() +"\\t\\t"+orderinfo.get(i-1).getDishes()+"\\t\\t"+orderinfo.get(i-1).getCount()+"\\t\\t" +orderinfo.get(i-1).getTime()+"\\t\\t"+orderinfo.get(i-1).getAddress() +"\\t\\t"+orderinfo.get(i-1).getMoneys()+"\\t\\t"+orderinfo.get(i-1).getState());
/** * @author Administrator * 显示操作界面 */ public class View public static void view() 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("********************"); /** * @author Administrator * 操作功能界面 */ public class UserView public static void userview() View.view(); System.out.println("请选择:"); String choose = TestDome.input.next(); switch (choose) //我要订餐 case "1": orderFood(); break; //查看餐袋 case "2": lookOver(); break; //签收订单 case "3": signFor(); break; //删除订单 case "4": delete(); break; //我要点赞 case "5": dianzan(); break; //退出系统 case "6": exit(); break; default: //客户输入0~6以外的数字皆默认不使用本系统 TestDome.flag= false; break; //订餐方法 private static void orderFood() System.out.println("****我要订餐****"); MuneInfo.toprint(); System.out.print("请输入订餐人姓名:"); String name = TestDome.input.next(); boolean flag1 = false; System.out.print("请选择您要点的菜单编号:"); int dex; do dex = TestDome.input.nextInt(); if (dex >= 1 && dex <= 3) break; else System.out.print("您选择的菜单编号不存在,请重新选择:"); flag1 = true; while (flag1); String dishes = MuneInfo.mune[dex - 1].getMuneNmae(); System.out.print("请输入您需要的分数:"); int num = TestDome.input.nextInt(); double moneys = MuneInfo.mune[dex - 1].getPrice() * num; System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):"); int time; do time = TestDome.input.nextInt(); if (time >= 10 && time <= 20) break; else flag1 = true; System.out.print("您输入的时间不在送餐时间内,请重新输入(送餐时间是10点至20点间整点送餐):"); while (flag1); System.out.print("请输入您的送餐地址:"); String address = TestDome.input.next(); String state = "已预订"; int num1 = OrderInfoInit.orderinfo.size(); OrderInfoInit.orderinfo.add(new OrderInfo(num1+1, name, dishes, num, time, address, moneys, state)); System.out.println("恭喜您订餐成功!订单详情如下:"); OrderInfoInit.findInfo(num1+1);; //查看餐袋方法 private static void lookOver() System.out.println("****查看餐袋****"); OrderInfoInit.toprint(); //签收订单方法 private static void signFor() boolean flag1 = true; System.out.println("****签收订单****"); OrderInfoInit.toprint(); int num; do System.out.println("请选择要签收的订单序号:"); num = TestDome.input.nextInt(); if(OrderInfoInit.orderinfo.get(num-1).getState() == "已完成") System.out.println("该订单已完成,无法重复签收,请重新选择需要签收的订单序号!"); else flag1 = false; OrderInfoInit.orderinfo.get(num-1).setState("已完成"); System.out.println("订单签收成功!"); break; while(flag1); OrderInfoInit.findInfo(num); //删除方法 private static void delete() boolean flag11 = true; System.out.println("****删除订单****"); OrderInfoInit.toprint(); do System.out.println("请选择您需要删除的订单序号:"); int num = TestDome.input.nextInt(); if(num > OrderInfoInit.orderinfo.size()) System.out.println("该订单序号不存在,请重新选择您要删除的订单序号!"); else flag11 = false; if( num <= OrderInfoInit.orderinfo.size()) OrderInfoInit.orderinfo.remove(num-1); for(int i = 0;i < OrderInfoInit.orderinfo.size();i++) OrderInfoInit.orderinfo.get(i).setXuhao(i+1); System.out.println("订单删除成功!"); OrderInfoInit.toprint(); while(flag11); //点赞方法 private static void dianzan() boolean flag2 = true; System.out.println("****我要点赞****"); MuneInfo.toprint(); do System.out.println("请选择您要点赞的菜品序号:"); int i = TestDome.input.nextInt(); if(i<=MuneInfo.mune.length) flag2 = false; MuneInfo.mune[i-1].setZan(MuneInfo.mune[i-1].getZan()+1); System.out.println("点赞成功!"); MuneInfo.findInfo(i); break; else System.out.println("您选择的菜品序号不存在,请重新选择!:"); while(flag2); private static void exit() System.out.println("****退出系统****"); TestDome.flag = false;
1 import java.util.Scanner; 2 3 /** 4 * @author Administrator 5 * 测试类 6 */ 7 public class TestDome 8 static Scanner input = new Scanner(System.in); 9 static boolean flag = true;//返回是否退出系统 10 static int num0;//为0返回菜单 11 public static void main(String[] args) 12 do 13 UserView.userview(); 14 if(!flag==true) 15 break; 16 else 17 System.out.println("请输入0返回菜单"); 18 num0 = input.nextInt(); 19 20 while(num0 == 0); 21 System.out.println("谢谢使用,欢迎下次光临!"); 22 23
测试运行结果:
查看餐袋信息:
实现订餐:
订完餐后查看餐袋:
签收订单:
删除订单:
点赞以及退出系统:
以上是关于重写吃货联盟的主要内容,如果未能解决你的问题,请参考以下文章