吃货联盟订餐系统

author:luckyboy!

version:1.1

知识储备:变量、数据类型、选择结构、循环结构、数组和面向对象

吃货联盟订餐系统概述

现在的互联网时代,足不出户只需要动动手指,就可在点餐并送货上门,这种网上送餐伸手人们的青睐,一起动动手指开发一个网上订餐系统吧!

功能如下:

  • 我要订餐
  • 查看餐袋
  • 签收订单
  • 删除订单
  • 我要点赞
  • 退出系统

创建 .Java 文件:Order类、Food类、OrderingMsg类和test测试类

阶段划分

  • 第一阶段:创建用来存储订单信息的Order类
  • 第二阶段:创建用来存储餐品信息的Food类
  • 第三阶段:实例化Order类和Food类并赋值2条订单信息
  • 第四阶段:完成整体框架和退出功能
  • 第五阶段:完成我要订餐功能
  • 第六阶段:完成查看餐袋功能
  • 第七阶段:完成签收订单功能
  • 第八阶段:完成删除订单功能
  • 第九阶段:完成我要点赞功能

第一阶段:创建用来存储订单信息的Order类

public class Order {// 订餐人姓名private String names;// 餐品信息private String menus;// 送餐时间private int times;// 送餐地址private String addresses;// 订单状态private int states;// 订单总金额private double sumPrices;//无参构造方法public Order() {super();}//有参构造方法public Order(String names, String menus, int times, String addresses,int states, double sumPrices) {super();this.names = names;this.menus = menus;this.times = times;this.addresses = addresses;this.states = states;this.sumPrices = sumPrices;}//get和set方法public String getNames() {return names;}public void setNames(String names) {this.names = names;}public String getMenus() {return menus;}public void setMenus(String menus) {this.menus = menus;}public int getTimes() {return times;}public void setTimes(int times) {this.times = times;}public String getAddresses() {return addresses;}public void setAddresses(String addresses) {this.addresses = addresses;}public int getStates() {return states;}public void setStates(int states) {this.states = states;}public double getSumPrices() {return sumPrices;}public void setSumPrices(double sumPrices) {this.sumPrices = sumPrices;}}

第二阶段:创建用来存储餐品信息的Food类

public class Food {// 菜品名private String menuNames;// 单价private double prices;// 点赞数private int praiseNums;//无参构造方法public Food() {super();}//有参构造方法public Food(String menuNames, double prices, int praiseNums) {super();this.menuNames = menuNames;this.prices = prices;this.praiseNums = praiseNums;}//get和set方法public String getMenuNames() {return menuNames;}public void setMenuNames(String menuNames) {this.menuNames = menuNames;}public double getPrices() {return prices;}public void setPrices(double prices) {this.prices = prices;}public int getPraiseNums() {return praiseNums;}public void setPraiseNums(int praiseNums) {this.praiseNums = praiseNums;}}

第三阶段:创建Order类和Food类数组

public class OrderingMsg {Scanner in = new Scanner(System.in);//创建Order类和Food类数组,用来保存实例化后的订单对象Order[] order = new Order[4];Food[] food = new Food[3];//初始化方法public void inti(){//实例化Order类,初始化两条订单信息order[0] = new Order("luckyboy!", "红烧带鱼 ×1份", 12, "亳州路110号", 1, 76.0);order[1] = new Order("luckyboy!", "鱼香肉丝 ×1份", 12, "亳州路110号", 0, 23.0);//实例化Food类,并初始化菜单信息food[0] = new Food("红烧带鱼", 38.0, 0);food[1] = new Food("鱼香肉丝", 18.0, 0);food[2] = new Food("时令蔬菜", 10.0, 0);}
}

第四阶段:完成整体框架和退出功能

public class OrderingMsg {Scanner in = new Scanner(System.in);//创建Order类和Food类数组,用来保存实例化后的订单对象Order[] order = new Order[4];Food[] food = new Food[3];//初始化方法public void inti(){//实例化Order类,初始化两条订单信息order[0] = new Order("luckyboy!", "红烧带鱼 ×1份", 12, "亳州路110号", 1, 76.0);order[1] = new Order("luckyboy!", "鱼香肉丝 ×1份", 12, "亳州路110号", 0, 23.0);//实例化Food类,并初始化菜单信息food[0] = new Food("红烧带鱼", 38.0, 0);food[1] = new Food("鱼香肉丝", 18.0, 0);food[2] = new Food("时令蔬菜", 10.0, 0);}//完成主体框架方法public void start(){int num;do{System.out.println("******************************");System.out.println("*       吃货联盟订餐系统      *");System.out.println("*        @author:luckyboy!   *");System.out.println("*        version:1.0         *");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("请选择(序号:1-6):"); int choose = in.nextInt();//判断用户选择的功能序号是否有此功能,如果choose是1-6以外的数字,则重新输入while(choose < 1 || choose > 6){System.out.println("没有此功能,请重新选择(序号:1-6)");choose = in.nextInt();}switch(choose){case 1://我要订餐order();break;case 2://查看餐袋lookBag();break;case 3://签收订单signFor();break;case 4://删除订单delete();break;case 5://我要点赞like();break;case 6://退出系统System.out.println("*        6-> 退出系统                   *");break;}//如果choose等于6,结束程序运行if(choose == 6){break;}System.out.println("输入0返回:");num = in.nextInt();//如果num不等于0,则重新输入,只有选择退出功能才能退出程序while(num != 0){System.out.println("输入0返回,请重新输入:");num = in.nextInt();}}while(num == 0);System.out.println("程序运行结束,感谢使用此程序!");}//我要订餐方法public void order(){System.out.println("*        1-> 我要订餐                   *");}//查看餐袋方法public void lookBag(){System.out.println("*        2-> 查看餐袋                   *");}//签收订单方法public void signFor(){System.out.println("*        3-> 签收订单                   *");}//删除订单方法public void delete(){System.out.println("*        4-> 删除订单                   *");}//我要点赞方法public void like(){System.out.println("*        5-> 我要点赞                   *");}
}

第五阶段:完成我要订餐功能

 //我要订餐方法public void order(){/** 情况一:Order数组类有空间存储新的订单信息* 情况二:Order数组类没有空间存储新的订单信息*/System.out.println("*        1-> 我要订餐                   *");//设置标志位boolean flag = false;for (int i = 0; i < order.length; i++) {if(order[i] == null){//满足情况一是,flag赋值为trueflag = true;System.out.println("序号\t菜品\t    单价");for (int j = 0; j < food.length; j++) {String price = food[j].getPrices() + "元";System.out.println((j+1) + "\t" + food[j].getMenuNames() + "\t  " + price);}//用户输入订单信息System.out.println("请选择您需要点的餐品序号:");int menuId = in.nextInt();System.out.println("请选择您需要的份数:");int number = in.nextInt();String menu = food[menuId-1].getMenuNames() + " ×" + number + "份";System.out.println("请输入订餐人姓名:");String name = in.next();System.out.println("请输入送餐时间(送餐时间是10点至20点间整点送餐):");int time = in.nextInt();while(time < 10 || time > 20){System.out.println("对不起,送餐时间是10点至20点间整点送餐,请重新输入送餐时间:");time = in.nextInt();}System.out.println("请输入送餐地址:");String address = in.next();//计算订单总金额;餐费 = 餐品单价 × 份数;餐费>50免配送费,餐费<50加5元配送费double sumPrice = food[menuId-1].getPrices() * number;double shoppingFree = sumPrice > 50 ? 0 : 5.0;double sum = sumPrice+shoppingFree;//输出订单信息System.out.println("订餐成功!");System.out.println("您订的是:"+menu);System.out.println("送餐时间是:" + time);System.out.println("送餐地址是:" + address);System.out.println("餐费:"+sumPrice+"元,配送费:"+shoppingFree +"元");System.out.println("总金额:"+sum+"元");//保存订单信息order[i] = new Order(name, menu, time, address, 0, sum); break;}}//判断标志位flag,如果flag等鱼false,执行语句块,此时餐袋已满if(!flag){System.out.println("对不起,餐袋已满!");}}

第六阶段:完成查看餐袋功能

 //查看餐袋方法public void lookBag(){/** for循环遍历order类数组,把已有的订单信息输出出来*/System.out.println("*        2-> 查看餐袋                   *");System.out.println("序号\t姓名\t餐品\t\t时间\t地址\t\t状态\t总金额");for (int i = 0; i < order.length; i++) {if(order[i] != null){String time = order[i].getTimes() + "点";String stat = order[i].getStates() == 0 ? "已预定" : "已签收";String sumPrice = order[i].getSumPrices() + "元";System.out.println((i+1) + "\t" + order[i].getNames() + "\t" + order[i].getMenus() + "\t" + time + "\t"+order[i].getAddresses() + "\t" + stat + "\t" + sumPrice);}}}

第七阶段:完成签收订单功能

 //签收订单方法public void signFor(){/** 情况一:匹配到用户输入的订单序号,订单状态是已预定,则可以签收此订单* 情况二:匹配到用户输入的订单序号,订单状态是已完成,则不能签收此订单* 情况三:没有匹配到用户输入的订单序号,则订单不存在*/System.out.println("*        3-> 签收订单                   *");//设置标志位,用于区分用户输入的订单序号是否存在boolean flag = false;System.out.println("请输入您要签收的订单序号:");int number = in.nextInt();for (int i = 0; i < order.length; i++) {//order数组类不为空,状态是已预定,用户输入序号和订单序号相同if(order[i] != null && order[i].getStates() == 0 && number == i+1){order[i].setStates(1);System.out.println("签收成功!");flag = true;}//order数组类不为空,状态是已完成,用户输入序号和订单序号相同else if(order[i] != null && order[i].getStates() == 1 && number == i+1){System.out.println("对不起,此订单已完成,不能重复签收!");flag = true;}}if(!flag){System.out.println("对不起,此订单不存在!");}}//删除订单方法public void delete(){System.out.println("*        4-> 删除订单                   *");}

第八阶段:完成删除订单功能

 //删除订单方法public void delete(){/** 情况一:匹配到用户输入的订单序号,订单状态是已完成,则可以签收此订单* 情况二:匹配到用户输入的订单序号,订单状态是已预定,则不能签收此订单* 情况三:没有匹配到用户输入的订单序号,则订单不存在*/System.out.println("*        4-> 删除订单                   *");//设置标志位,用于区分用户输入的订单序号是否存在boolean flag = false;System.out.println("请输入您要删除的订单号:");int number = in.nextInt();for (int i = 0; i < order.length; i++) {//order数组类不为空,状态是已完成,用户输入序号和订单序号相同if(order[i] != null && order[i].getStates() == 1 && number == i+1){//删除订单信息for (int j = number; j < order.length; j++) {order[j-1] = order[j];}System.out.println("订单删除成功!");flag = true;}//order数组类不为空,状态是已预定,用户输入序号和订单序号相同else if(order[i] != null && order[i].getStates() == 0 && number == i+1){System.out.println("对不起,此订单未签收不能删除!");flag = true;}}if(!flag){System.out.println("对不起。此订单不存在!");}}

第九阶段:完成我要点赞功能

 //我要点赞方法public void like(){/** 匹配到用户输入的需要点赞的餐品序号,把此餐品点赞数加1*/System.out.println("*        5-> 我要点赞                   *");System.out.println("序号\t菜品\t    单价\t    赞");for (int j = 0; j < food.length; j++) {String price = food[j].getPrices() + "元";String praise = food[j].getPraiseNums() + "赞";System.out.println((j+1) + "\t" + food[j].getMenuNames() + "\t  " + price + "\t  " + praise);}System.out.println("请输入您要点赞的餐品序号(1-3):");int number = in.nextInt();//因为餐品只有三个,如果餐品序号是1-3以外的数字,则重新选择while(number < 1 || number > 3){System.out.println("对不起,此餐品不存在,请重新选择您要点赞的餐品序号(1-3)");}//将用户点赞的餐品序号取出加1,在将序号传递给用户点赞的餐品序号int num = food[number-1].getPraiseNums() + 1;food[number-1].setPraiseNums(num);System.out.println(food[number-1].getMenuNames()+"点赞成功!");}

完整代码如下

Order类代码:

public class Order {// 订餐人姓名private String names;// 餐品信息private String menus;// 送餐时间private int times;// 送餐地址private String addresses;// 订单状态private int states;// 订单总金额private double sumPrices;//无参构造方法public Order() {super();}//有参构造方法public Order(String names, String menus, int times, String addresses,int states, double sumPrices) {super();this.names = names;this.menus = menus;this.times = times;this.addresses = addresses;this.states = states;this.sumPrices = sumPrices;}//get和set方法public String getNames() {return names;}public void setNames(String names) {this.names = names;}public String getMenus() {return menus;}public void setMenus(String menus) {this.menus = menus;}public int getTimes() {return times;}public void setTimes(int times) {this.times = times;}public String getAddresses() {return addresses;}public void setAddresses(String addresses) {this.addresses = addresses;}public int getStates() {return states;}public void setStates(int states) {this.states = states;}public double getSumPrices() {return sumPrices;}public void setSumPrices(double sumPrices) {this.sumPrices = sumPrices;}}

Food类代码:

public class Food {// 菜品名private String menuNames;// 单价private double prices;// 点赞数private int praiseNums;//无参构造方法public Food() {super();}//有参构造方法public Food(String menuNames, double prices, int praiseNums) {super();this.menuNames = menuNames;this.prices = prices;this.praiseNums = praiseNums;}//get和set方法public String getMenuNames() {return menuNames;}public void setMenuNames(String menuNames) {this.menuNames = menuNames;}public double getPrices() {return prices;}public void setPrices(double prices) {this.prices = prices;}public int getPraiseNums() {return praiseNums;}public void setPraiseNums(int praiseNums) {this.praiseNums = praiseNums;}}

OrderingMsg类代码:

import java.util.Scanner;public class OrderingMsg {Scanner in = new Scanner(System.in);//创建Order类和Food类数组,用来保存实例化后的订单对象Order[] order = new Order[4];Food[] food = new Food[3];//初始化方法public void inti(){//实例化Order类,初始化两条订单信息order[0] = new Order("小汪", "红烧带鱼 ×1份", 12, "亳州路110号", 1, 76.0);order[1] = new Order("小汪", "鱼香肉丝 ×1份", 12, "亳州路110号", 0, 23.0);//实例化Food类,并初始化菜单信息food[0] = new Food("红烧带鱼", 38.0, 0);food[1] = new Food("鱼香肉丝", 18.0, 0);food[2] = new Food("时令蔬菜", 10.0, 0);}//完成主体框架方法public void start(){int num;do{System.out.println("******************************");System.out.println("*       吃货联盟订餐系统              *");System.out.println("*        @author:小汪                  *");System.out.println("*        version:1.0         *");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("请选择(序号:1-6):"); int choose = in.nextInt();//判断用户选择的功能序号是否有此功能,如果choose是1-6以外的数字,则重新输入while(choose < 1 || choose > 6){System.out.println("没有此功能,请重新选择(序号:1-6)");choose = in.nextInt();}switch(choose){case 1://我要订餐order();break;case 2://查看餐袋lookBag();break;case 3://签收订单signFor();break;case 4://删除订单delete();break;case 5://我要点赞like();break;case 6://退出系统System.out.println("*        6-> 退出系统                   *");break;}//如果choose等于6,结束程序运行if(choose == 6){break;}System.out.println("输入0返回:");num = in.nextInt();//如果num不等于0,则重新输入,只有选择退出功能才能退出程序while(num != 0){System.out.println("输入0返回,请重新输入:");num = in.nextInt();}}while(num == 0);System.out.println("程序运行结束,感谢使用此程序!");}//我要订餐方法public void order(){/** 情况一:Order数组类有空间存储新的订单信息* 情况二:Order数组类没有空间存储新的订单信息*/System.out.println("*        1-> 我要订餐                   *");//设置标志位boolean flag = false;for (int i = 0; i < order.length; i++) {if(order[i] == null){//满足情况一是,flag赋值为trueflag = true;System.out.println("序号\t菜品\t    单价");for (int j = 0; j < food.length; j++) {String price = food[j].getPrices() + "元";System.out.println((j+1) + "\t" + food[j].getMenuNames() + "\t  " + price);}//用户输入订单信息System.out.println("请选择您需要点的餐品序号:");int menuId = in.nextInt();System.out.println("请选择您需要的份数:");int number = in.nextInt();String menu = food[menuId-1].getMenuNames() + " ×" + number + "份";System.out.println("请输入订餐人姓名:");String name = in.next();System.out.println("请输入送餐时间(送餐时间是10点至20点间整点送餐):");int time = in.nextInt();while(time < 10 || time > 20){System.out.println("对不起,送餐时间是10点至20点间整点送餐,请重新输入送餐时间:");time = in.nextInt();}System.out.println("请输入送餐地址:");String address = in.next();//计算订单总金额;餐费 = 餐品单价 × 份数;餐费>50免配送费,餐费<50加5元配送费double sumPrice = food[menuId-1].getPrices() * number;double shoppingFree = sumPrice > 50 ? 0 : 5.0;double sum = sumPrice+shoppingFree;//输出订单信息System.out.println("订餐成功!");System.out.println("您订的是:"+menu);System.out.println("送餐时间是:" + time);System.out.println("送餐地址是:" + address);System.out.println("餐费:"+sumPrice+"元,配送费:"+shoppingFree +"元");System.out.println("总金额:"+sum+"元");//保存订单信息order[i] = new Order(name, menu, time, address, 0, sum); break;}}//判断标志位flag,如果flag等鱼false,执行语句块,此时餐袋已满if(!flag){System.out.println("对不起,餐袋已满!");}}//查看餐袋方法public void lookBag(){/** for循环遍历order类数组,把已有的订单信息输出出来*/System.out.println("*        2-> 查看餐袋                   *");System.out.println("序号\t姓名\t餐品\t\t时间\t地址\t\t状态\t总金额");for (int i = 0; i < order.length; i++) {if(order[i] != null){String time = order[i].getTimes() + "点";String stat = order[i].getStates() == 0 ? "已预定" : "已完成";String sumPrice = order[i].getSumPrices() + "元";System.out.println((i+1) + "\t" + order[i].getNames() + "\t" + order[i].getMenus() + "\t" + time + "\t"+order[i].getAddresses() + "\t" + stat + "\t" + sumPrice);}}}//签收订单方法public void signFor(){/** 情况一:匹配到用户输入的订单序号,订单状态是已预定,则可以签收此订单* 情况二:匹配到用户输入的订单序号,订单状态是已完成,则不能签收此订单* 情况三:没有匹配到用户输入的订单序号,则订单不存在*/System.out.println("*        3-> 签收订单                   *");//设置标志位,用于区分用户输入的订单序号是否存在boolean flag = false;System.out.println("请输入您要签收的订单序号:");int number = in.nextInt();for (int i = 0; i < order.length; i++) {//order数组类不为空,状态是已预定,用户输入序号和订单序号相同if(order[i] != null && order[i].getStates() == 0 && number == i+1){order[i].setStates(1);System.out.println("签收成功!");flag = true;}//order数组类不为空,状态是已完成,用户输入序号和订单序号相同else if(order[i] != null && order[i].getStates() == 1 && number == i+1){System.out.println("对不起,此订单已完成,不能重复签收!");flag = true;}}if(!flag){System.out.println("对不起,此订单不存在!");}}//删除订单方法public void delete(){/** 情况一:匹配到用户输入的订单序号,订单状态是已完成,则可以签收此订单* 情况二:匹配到用户输入的订单序号,订单状态是已预定,则不能签收此订单* 情况三:没有匹配到用户输入的订单序号,则订单不存在*/System.out.println("*        4-> 删除订单                   *");//设置标志位,用于区分用户输入的订单序号是否存在boolean flag = false;System.out.println("请输入您要删除的订单号:");int number = in.nextInt();for (int i = 0; i < order.length; i++) {//order数组类不为空,状态是已完成,用户输入序号和订单序号相同if(order[i] != null && order[i].getStates() == 1 && number == i+1){//删除订单信息for (int j = number; j < order.length; j++) {order[j-1] = order[j];}System.out.println("订单删除成功!");flag = true;}//order数组类不为空,状态是已预定,用户输入序号和订单序号相同else if(order[i] != null && order[i].getStates() == 0 && number == i+1){System.out.println("对不起,此订单未签收不能删除!");flag = true;}}if(!flag){System.out.println("对不起。此订单不存在!");}}//我要点赞方法public void like(){/** 匹配到用户输入的需要点赞的餐品序号,把此餐品点赞数加1*/System.out.println("*        5-> 我要点赞                   *");System.out.println("序号\t菜品\t    单价\t    赞");for (int j = 0; j < food.length; j++) {String price = food[j].getPrices() + "元";String praise = food[j].getPraiseNums() + "赞";System.out.println((j+1) + "\t" + food[j].getMenuNames() + "\t  " + price + "\t  " + praise);}System.out.println("请输入您要点赞的餐品序号(1-3):");int number = in.nextInt();//因为餐品只有三个,如果餐品序号是1-3以外的数字,则重新选择while(number < 1 || number > 3){System.out.println("对不起,此餐品不存在,请重新选择您要点赞的餐品序号(1-3)");}//将用户点赞的餐品序号取出加1,在将序号传递给用户点赞的餐品序号int num = food[number-1].getPraiseNums() + 1;food[number-1].setPraiseNums(num);System.out.println(food[number-1].getMenuNames()+"点赞成功!");}
}

Test测试类代码:

public class test {public static void main(String[] args) {//实例化OredringMsg类OrderingMsg ord = new OrderingMsg();//调用OrderingMsg类中的初始化方法ord.inti();//调用OrderingMsg类中的主体框架方法ord.start();}
}

吃货联盟订餐系统1.1-面向对象+数组相关推荐

  1. Java面向对象 --- 吃货联盟订餐系统(完整版)

    文章目录 为什么使用面向对象 划分类 代码编写 为什么使用面向对象 Java面向对象版本的吃货联盟订餐系统: 因为基础版本都在一个类中实现的功能,太过于麻烦,不清楚 ,所以说我们利用面向对象制作吃货联 ...

  2. 吃货联盟订餐系统(对象+数组)

    ⛳️项目需求     (1)现今已经进入网络时代,人们的日常生活已经离不开网络,如网上购物.看新闻.交友等.     (2)"只要点点手指,就能送餐上门",网上订餐越来越受到都市年 ...

  3. 用Java面向对象的方法重写“吃货联盟订餐系统”

    该系统实现的功能: 我要订餐 查看餐袋 签收订单 删除订单 我要点赞 退出系统 实体类的定义: Dishes.java package com.xk.entity;/*** 菜品类**/public ...

  4. Java基础之吃货联盟订餐系统Version1.0

    注意:此项目为刚学完Java基础至数组的入门程序. 吃货联盟订餐系统Version1.0是在数组的基础上完成的一个小项目,由于只是运用数组实现了一些简单的功能, 所以我管它叫Version1.0,即1 ...

  5. Java吃货联盟订餐系统1.3-面向对象+I/O流

    吃货联盟订餐系统 author:luckyboy! version:1.3 知识储备:变量.数据类型.选择结构.循环结构.数组.面向对象.集合和I/O流 吃货联盟订餐系统概述 现在的互联网时代,足不出 ...

  6. Java基础 吃货联盟订餐系统

    Java基础 吃货联盟订餐系统 需求分析 系统概述 搭建框架 编写功能 项目总结 需求分析 系统概述 "只要动动手指,就能送餐上门",网上订餐深受现代人青睐,现开发一个网上订餐系统 ...

  7. java吃货联盟app讲解_吃货联盟订餐系统——JAVA实现

    package com.chihuo; import java.util.Scanner; public class OrderingMgr { public static void main(Str ...

  8. 吃货联盟订餐系统项目

    吃货联盟订餐系统项目 ​ 代码思路: 第一阶段:分析数据主题 第二阶段:分析并完成整体框架 第三阶段:分析并完成退出功能 第四阶段:分析并完成订餐功能 第五阶段:分析并完成查看餐袋功能 第六阶段:分析 ...

  9. java吃货联盟app讲解_java吃货联盟订餐系统

    ackage cn.practice1200; import java.util.Scanner; public class Eater_Alliance { /** * 吃货联盟订餐系统 * * @ ...

最新文章

  1. 0x51.动态规划 - 线性DP(习题详解 × 10)
  2. flutter 局部状态和全局状态区别_给 Android 开发者的 Flutter 指南
  3. rabbit以及php amqp扩展使用
  4. 执行游戏时出现0xc000007b错误的解决方法
  5. ConcurrentHashMap--自用,非教学
  6. Infor与Marketo®合作,帮助全球企业实现客户体验变革
  7. bowtie1和bowtie2的比较
  8. 西瓜书《机器学习》多元线性回归公式推导
  9. (4.14)mysql备份还原——mysql物理热备工具之ibbackup
  10. php更新记录没有获取值,php – 节点更新:获取旧值
  11. 电感式传感器工作原理与电感式传感器应用案例-博扬智能
  12. Pandas+Matplotlib,深入浅出Python数据分析
  13. vue项目引入sass
  14. 电商直播系统源码该如何突破?
  15. 自制的一个小地图生成器
  16. 【Python】fastapi框架之Web部署机器学习模型
  17. 超详细软件工程黑书思维导图(从第一章到第八章)
  18. 《图像处理、分析与机器视觉 第四版》数学形态学基本概念——学习笔记
  19. 微信公众号开发 - 事件处理和回复消息
  20. 你知道 Compiler 与 Interpreter 的区别吗?

热门文章

  1. 今天集成高德地图找不到 keystore 文件
  2. 慕课网python就业_python全栈开发慕课网
  3. 原创丨智合同AI开放平台
  4. 【python】python multiprocessing 获取当前CPU核心数
  5. vc 预定义 STRICT用法(转)
  6. Ruoyi数据权限功能实现
  7. 【java网络编程】netty框架
  8. 和平精英体验服要维护服务器,和平精英体验服关服维护要多久?和平精英体验服开放时间一览[多图]...
  9. MVC北京络捷斯特第三方物流系统技术解析(三)订单运输管理
  10. Linux卸载weblogic