转载于blog.csdn.net/weixin_44219955

项目大体框架

菜品类(菜品id,菜品名,菜品类型,上架时间,单价,月销售,总数量)

管理员类(管理员id,账号,密码)

客户类(客户id,客户名,性别,密码,送餐地址,手机号,创建时间)

订单类(订单号,订单创建时间,菜品id,购买数,客户id,总价格,订单状态)
实现不同角色用户登录系统
(1) 管理员登录系统看到如下菜单:
① 添加菜品
② 查看所有菜品信息(包含分页功能)
③ 查看指定类别的菜品信息
④ 根据菜品id修改菜品价格
⑤ 删除指定id的菜品
⑥ 添加客户
⑦ 查看客户列表
⑧ 删除指定id的客户
⑨ 订单列表显示
⑩ 根据订单id修改订单状态
11 退出
(2) 客户登录看到如下菜单:
① 显示所有菜品(按菜品销量从高到低排序输出)
-------->点餐(输入菜品id和购买数量)
② 根据菜品类别显示所有菜品
③ 查看所有订单(当前登录用户的)
④ 修改密码(当前登录用户的)
⑤ 个人信息显示

建立接口来进行对四个管理类进行操作

可能有些人会有这样的疑问:为什么一定要创建接口呢?不是可以直接在类中定义相对应的方法,这样看来接口好像显得有点多余。

但我们要知道接口在一定层面上是起一种规范的作用,在日常开发中,一个项目可能需要几个人同时开发最后再进行综合。所以在这时接口的作用就显得尤为重要。

举个例子:一个项目同时由两个人开发不同的模块,如果不定义一些接口,那么两个人写的代码就没有良好的分离性,不能够很好的进行融合,做到即拿即用的效果。

import java.util.List;

public interface DAO<T> {
void insert(T t);
T findById(String id);
List<T> findAll();
void delete(String id);
}

Admin类

public class Admin {
private String aID;
private String account;
private String apwd;
public Admin() {
// TODO Auto-generated constructor stub
}
public Admin(String aID, String account, String apwd) {
super();
this.aID = aID;
this.account = account;
this.apwd = apwd;
}
public String getaID() {
return aID;
}
public void setaID(String aID) {
this.aID = aID;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getApwd() {
return apwd;
}
public void setApwd(String apwd) {
this.apwd = apwd;
}
@Override
public String toString() {
return "Admin [aID=" + aID + ", account=" + account + ", apwd=" + apwd + "]";
} }

Dishes类(菜品类)

import java.time.LocalDate;

public class Dishes {
private String dID;
private String dname;
private String dtype;
private LocalDate dtime;
private double price;
private int dsales;
private int dstocks; public Dishes() {
// TODO Auto-generated constructor stub
} public Dishes(String dID, String dname, String dtype, LocalDate dtime, double price, int dsales, int dstocks) {
super();
this.dID = dID;
this.dname = dname;
this.dtype = dtype;
this.dtime = dtime;
this.price = price;
this.dsales = dsales;
this.dstocks = dstocks;
} public String getdID() {
return dID;
} public void setdID(String dID) {
this.dID = dID;
} public String getDname() {
return dname;
} public void setDname(String dname) {
this.dname = dname;
} public String getDtype() {
return dtype;
} public void setDtype(String dtype) {
this.dtype = dtype;
} public LocalDate getDtime() {
return dtime;
} public void setDtime(LocalDate dtime) {
this.dtime = dtime;
} public double getPrice() {
return price;
} public void setPrice(double price) {
this.price = price;
} public int getDsales() {
return dsales;
} public void setDsales(int dsales) {
this.dsales = dsales;
} public int getDstocks() {
return dstocks;
} public void setDstocks(int dstocks) {
this.dstocks = dstocks;
} @Override
public String toString() {
return "Dishes [菜品id:" + dID + ", 菜品名:" + dname + ", 菜品类型:" + dtype + ", 上架时间:" + dtime + ", 单价:" + price
+ ", 月销量:" + dsales + ", 总数量:" + dstocks + "]";
} }

Order类

import java.time.LocalDateTime;

public class Order {
private String OrderID;
private LocalDateTime utime;
private Dishes dishes;
private int Ordernum;
private String uID;
private Double Orderprice;
private int OrderValue; public Order() {
// TODO Auto-generated constructor stub
} public Order(String orderID, LocalDateTime utime, Dishes dishes, int ordernum, String uID, Double orderprice,
int orderValue) {
super();
OrderID = orderID;
this.utime = utime;
this.dishes = dishes;
Ordernum = ordernum;
this.uID = uID;
Orderprice = orderprice;
OrderValue = orderValue;
} public String getOrderID() {
return OrderID;
} public void setOrderID(String orderID) {
OrderID = orderID;
} public LocalDateTime getUtime() {
return utime;
} public void setUtime(LocalDateTime utime) {
this.utime = utime;
} public Double getOrderprice() {
return Orderprice;
} public void setOrderprice(Double orderprice) {
Orderprice = orderprice;
} public Dishes getDishes() {
return dishes;
} public void setDishes(Dishes dishes) {
this.dishes = dishes;
} public int getOrdernum() {
return Ordernum;
} public void setOrdernum(int ordernum) {
Ordernum = ordernum;
} public String getuID() {
return uID;
} public void setuID(String uID) {
this.uID = uID;
} public int getOrderValue() {
return OrderValue;
} public void setOrderValue(int orderValue) {
OrderValue = orderValue;
} @Override
public String toString() {
return "Order [OrderID=" + OrderID + ", utime=" + utime + ", dishes=" + dishes + ", Ordernum=" + Ordernum
+ ", uID=" + uID + ", Orderprice=" + Orderprice + ", OrderValue=" + OrderValue + "]";
} }

User类

import java.time.LocalDateTime;

public class User {
private String uID;
private String uname;
private String usex;
private String upwd;
private String uadress;
private String utel;
private LocalDateTime utime; public User() {
// TODO Auto-generated constructor stub
} public User(String uID, String uname, String usex, String upwd, String uadress, String utel, LocalDateTime utime) {
super();
this.uID = uID;
this.uname = uname;
this.usex = usex;
this.upwd = upwd;
this.uadress = uadress;
this.utel = utel;
this.utime = utime;
} public String getuID() {
return uID;
} public void setuID(String uID) {
this.uID = uID;
} public String getUname() {
return uname;
} public void setUname(String uname) {
this.uname = uname;
} public String getUsex() {
return usex;
} public void setUsex(String usex) {
this.usex = usex;
} public String getUpwd() {
return upwd;
} public void setUpwd(String upwd) {
this.upwd = upwd;
} public String getUadress() {
return uadress;
} public void setUadress(String uadress) {
this.uadress = uadress;
} public String getUtel() {
return utel;
} public void setUtel(String utel) {
this.utel = utel;
} public LocalDateTime getUtime() {
return utime;
} public void setUtime(LocalDateTime utime) {
this.utime = utime;
} @Override
public String toString() {
return "User [uID=" + uID + ", uname=" + uname + ", usex=" + usex + ", upwd=" + upwd + ", uadress=" + uadress
+ ", utel=" + utel + ", utime=" + utime + "]";
} }

这里需要注意的是,所定义的类中的变量最好设置为私有变量,这样更能够保证数据的安全性。但必须提供变量的操作接口。

AdminSys

import java.time.LocalDate;
import java.time.LocalDateTime;
//import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
//import java.util.Set; public class AdminSys implements DAO<Admin> {
static Map<String, Admin> map = new HashMap<>();
// static Set<String> keys = map.keySet();
UserSys u = new UserSys();
OrderSys o = new OrderSys();
DishesSys d = new DishesSys();
Scanner sc = new Scanner(System.in); /**
* 添加菜品
*/
public void addDishes() {
System.out.println("请输入您要添加的菜品:(按照:菜品ID/菜品名/菜品类型/单价/月销量/总数量)");
String str = sc.next();
String[] info = str.split("/");
//
if (info.length < 6) {
System.out.println("天啦撸,输入失败啦,请重新输入!");
addDishes();
} else {
LocalDate dtime = LocalDate.now();
Dishes t = new Dishes(info[0], info[1], info[2], dtime, Double.parseDouble(info[3]),
Integer.parseInt(info[4]), Integer.parseInt(info[5]));
d.insert(t);
System.out.println("小主,恭喜你!添加成功了");
}
} /**
* 查看所有菜品信息(包含分页功能)
*/
public void showAllDishes(int pageSize) {
List<Dishes> list = d.findAll();
int start = 0;
//先写一个死循环,进入else后break掉
while (true) {
if (list.size() > (pageSize + start)) {
System.out.println(list.subList(start, pageSize + start)); } else {
System.out.println(list.subList(start, list.size()));
break;
}
start = start + pageSize;
}
} /**
* 查看指定类别的菜品信息
*
*/
public void selecBytypeOfAdmin() {
System.out.println("请输入您要查询菜品的类别:");
String typename = sc.next();
d.selectBytype(typename);
} /**
* 根据菜品id修改菜品价格
*/
public void selectByDishesID() {
System.out.println("请输入您要查询的菜品id:");
String id = sc.next();
Dishes dish = d.findById(id);
if (dish == null) {
System.out.println("没有当前id的菜品呢");
} else {
System.out.println("当前菜品为:" + dish);
System.out.println("请输入新的菜品单价:");
double newprice = sc.nextDouble();
Dishes t = new Dishes(dish.getdID(), dish.getDname(), dish.getDtype(), dish.getDtime(), newprice,
dish.getDsales(), dish.getDstocks());
d.insert(t);
System.out.println("修改成功" + d.findById(t.getdID()));
}
} /**
* 删除指定id的菜品
*
* @param args
*/
public void deleteDishes() {
System.out.println("请输入您要删除的菜品id");
String id = sc.next();
d.delete(id);
System.out.println("删除成功!!");
} /**
* 添加客户
*/
public void addUser() {
System.out.println("请输入您要添加的用户:按照(id/姓名/性别/密码/送餐地址/手机号)");
String str = sc.next();
String[] info = str.split("/");
if (info.length < 6) {
System.out.println("您输入的信息有误,请重新输入....");
addUser();
} else {
LocalDateTime utime = LocalDateTime.now();
u.insert(new User(info[0], info[1], info[2], info[3], info[4], info[5], utime));
System.out.println("添加成功");
}
} /**
* 查看客户列表
*/
public void findUser() {
List<User> userlist = u.findAll();
for (User user : userlist) {
System.out.println(user);
}
} /**
* 根据id查找指定用户
*/
public User findUserByid(String id) {
return u.findById(id);
} /**
* 删除指定id的客户
*/
public void deleteUserByAdmin() {
System.out.println("请输入您要删除的id:");
String id = sc.next();
u.delete(id);
} /**
* 订单列表显示
*/
public void showAllOrder() {
List<Order> allOrder = o.findAll();
for (Order order : allOrder) {
System.out.println(order);
}
} /**
* 根据订单id修改订单状态
*/
public void changeOrderValue() {
System.out.println("请输入您要修改状态的订单id");
String id = sc.next();
Order order = o.findById(id);
if (order == null) {
System.out.println("没有当前id的订单,请检查输入");
} else {
System.out.println("已找到当前id订单" + order);
System.out.println("请输入您要修改的状态:0:未支付 1:已支付 2:配送中 3:已完成");
int value = sc.nextInt();
Order t = new Order(order.getOrderID(), order.getUtime(), order.getDishes(), order.getOrdernum(),
order.getuID(), order.getOrderprice(), value);
o.insert(t);
System.out.println("修改成功了!!!");
} }
/**
* 显示所有菜品(按菜品销量从高到低排序输出)
*/
public void showAllDishesByUser() {
List<Dishes> list = d.findAll();
Collections.sort(list, (p1, p2) -> p1.getDsales() - p2.getDsales());
System.out.println(list);
} /**
* 点餐(输入菜品id和购买数量)
*/
public void shopDishes(User user) {
showAllDishesByUser();
System.out.println("请输入您要购买的id和数量:按照(id/数量)");
String str = sc.next();
String[] info = str.split("/");
// 判断输入是否符合要求,不符合则要求重新输入
if (info.length < 2) {
System.out.println("输入有误,请重新输入:");
shopDishes(user);
} else {
LocalDateTime l = LocalDateTime.now();
// String orderID, LocalDateTime utime, Dishes dishes, int ordernum, String uID,
// Double orderprice,int orderValue
Order t = new Order(info[0], l, d.findById(info[0]), Integer.parseInt(info[1]), user.getuID(),
o.findById(info[0]).getOrderprice(), o.findById(info[0]).getOrderValue());
o.insert(t);
System.out.println("订单已生成!!!" + o.findById(info[0]));
}
} /**
* 根据菜品类别显示所有菜品
*/
public void ShowOfTypeByUser() {
System.out.println("请输入您要查找的类别:");
String str = sc.next();
System.out.println(d.findByType(str)); } /**
* 查看所有订单(当前登录用户的)
*/
public void showAllOrderByUser(User user) {
List<Order> list = o.findByuId(user.getuID());
for (Order order : list) {
System.out.println(order);
}
} /**
* 修改密码(当前登录用户的)
*/
public void changePwdByUser(User user) {
u.changepwd(user.getuID());
System.out.println("修改成功!!");
} /**
* 个人信息显示
*/
public void showByUser(User user) {
User findById = u.findById(user.getuID());
System.out.println(findById);
}
//待补充功能,删除管理员
@Override
public void delete(String id) { }
//待补充功能,添加管理员
@Override
public void insert(Admin t) {
// TODO Auto-generated method stub }
//待补充功能,通过id即账号查找管理员
@Override
public Admin findById(String id) { return map.get(id);
}
//待补充功能,显示所有管理员
@Override
public List<Admin> findAll() {
// TODO Auto-generated method stub
return null;
}
//先设置系统默认数据
public void addMessage() {
map.put("qwl", new Admin("10086", "qwl", "123456"));
LocalDate time = LocalDate.now();
Dishes d1 = new Dishes("1", "红烧猪蹄", "肉类", time, 12.5, 20, 30);
d.insert(d1);
Dishes d2 = new Dishes("2", "鸡公煲", "肉类", time, 21.5, 30, 20);
d.insert(d2);
Dishes d3 = new Dishes("3", "麻辣香锅", "火锅类", time, 30, 5, 10);
d.insert(d3);
Dishes d4 = new Dishes("4", "水煮肉片", "肉类", time, 15, 12, 15);
d.insert(d4);
Dishes d5 = new Dishes("5", "水果沙拉", "水果类", time, 6, 70, 60);
d.insert(d5);
// String orderID, LocalDateTime utime, Dishes dishes, int ordernum, String uID,
// Double orderprice,int orderValue
LocalDateTime localdatetime = LocalDateTime.now();
Order o1 = new Order("1", localdatetime, d1, 10, "1001", 60.0, 1);
o.insert(o1);
Order o2 = new Order("2", localdatetime, d2, 5, "1002", 50.0, 10);
o.insert(o2);
Order o3 = new Order("3", localdatetime, d3, 5, "1003", 40.0, 5);
o.insert(o3);
Order o4 = new Order("4", localdatetime, d4, 5, "1004", 30.0, 6);
o.insert(o4);
Order o5 = new Order("5", localdatetime, d5, 5, "1005", 20.0, 8);
o.insert(o5);
// String uID, String uname, String usex, String upwd, String uadress, String
// utel, LocalDateTime utime
User u1 = new User("1001", "张三", "男", "123456", "湖北", "13545286487", localdatetime);
u.insert(u1);
User u2 = new User("1002", "李四", "男", "234567", "湖南", "15927948976", localdatetime);
u.insert(u2);
User u3 = new User("1003", "王五", "男", "345678", "江苏", "15927986854", localdatetime);
u.insert(u3);
User u4 = new User("1004", "刘柳", "女", "456789", "浙江", "18771580860", localdatetime);
u.insert(u4);
User u5 = new User("1005", "赵琦", "女", "567890", "新疆", "18771580750", localdatetime);
u.insert(u5);
} }

OrderSys

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set; public class OrderSys implements DAO<Order> {
static Map<String, Order> ordermap = new HashMap<>();
static List<Order> orderlist = new ArrayList<>();
/**
* 新增订单
*/
@Override
public void insert(Order t) {
ordermap.put(t.getOrderID(), t); }
/**
* 通过订单id查找订单
*/
@Override
public Order findById(String id) {
if (ordermap.get(id) == null) {
return null;
} else {
return ordermap.get(id);
} }
/**
* 通过用户id查询用户的所有订单,并返回一个list集合
* @param uid
* @return
*/
public List<Order> findByuId(String uid) {
List<Order> list = new ArrayList<>();
Set<String> keys = ordermap.keySet();
for (String key : keys) {
if (Objects.equals(uid, ordermap.get(key).getuID())) {
list.add(ordermap.get(key));
}
}
return list;
} /**
* 显示所有订单
*/
@Override
public List<Order> findAll() {
Set<String> keys = ordermap.keySet();
for (String key : keys) {
orderlist.add(ordermap.get(key));
}
return orderlist;
}
/**
* 待完成功能,删除订单
*/
@Override
public void delete(String id) {
// TODO Auto-generated method stub }
}

UserSys

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set; //客户id,客户名,性别,密码,送餐地址,手机号,创建时间
public class UserSys implements DAO<User> {
static Map<String, User> usermap = new HashMap<>();
List<User> list = new ArrayList<>();
Scanner sc = new Scanner(System.in); /**
* 添加客户
*/
@Override
public void insert(User t) {
usermap.put(t.getuID(), t); } /**
* 查看客户列表
*/
@Override
public List<User> findAll() {
Set<String> keys = usermap.keySet();
for (String str : keys) {
list.add(usermap.get(str));
}
return list;
} /**
* 删除指定id的客户
*/
@Override
public void delete(String id) {
if (usermap.get(id) == null) {
System.out.println("没有当前id的客户");
} else {
System.out.println(usermap.get(id) + "已删除!!!");
usermap.remove(id);
} } /**
* 修改密码(当前登录用户的)
*/
public void changepwd(String id) {
User user = findById(id);
System.out.println("请输入新密码:");
String str = sc.next();
User t = new User(user.getuID(), user.getUname(), user.getUsex(), str, user.getUadress(), user.getUtel(),
user.getUtime());
usermap.put(id, t); } /**
* 通过id查找对应客户
*/
@Override
public User findById(String id) {
if (usermap.get(id) == null) {
return null;
} else {
return usermap.get(id);
} } }

DishesSys

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set; public class DishesSys implements DAO<Dishes> {
// 建立一个菜品的map集合,其中菜品的id为map的键,整个菜品对象为map的值
static Map<String, Dishes> dishesmap = new HashMap<>();
Set<String> keys = dishesmap.keySet(); /**
* 添加菜品
*/
@Override
public void insert(Dishes t) {
dishesmap.put(t.getdID(), t); } /**
* 通过id来寻找菜品
*/ @Override
public Dishes findById(String id) {
if (dishesmap.get(id) == null) {
return null;
} else {
return dishesmap.get(id);
}
} /**
* 根据菜品类型查找菜品
*/
public List<Dishes> findByType(String type) {
List<Dishes> list = new ArrayList<>();
for (String key : keys) {
if (Objects.equals(type, dishesmap.get(key).getDtype())) {
list.add(dishesmap.get(key));
} }
return list;
} /**
* 查询所有菜品
*/
@Override
public List<Dishes> findAll() {
List<Dishes> list = new ArrayList<>(); for (String str : keys) {
list.add(dishesmap.get(str));
}
return list;
} public void selectBytype(String typename) {
int count = 0;
for (String key : keys) {
if (Objects.equals(dishesmap.get(key).getDtype(), typename)) {
System.out.println(dishesmap.get(key));
count++;
}
}
if (count == 0) {
System.out.println("没有当前类别的菜品!");
}
} /**
* 删除指定id菜品
*/
@Override
public void delete(String id) {
if (dishesmap.get(id) == null) {
System.out.println("输入id错误...");
} else {
dishesmap.remove(id);
} }
}

Menu

import java.util.Objects;
import java.util.Scanner; public class Menu {
static AdminSys admin = new AdminSys();
Scanner sc = new Scanner(System.in); public void showMenu() {
admin.addMessage(); System.out.println("请输入账号和密码:按照(账号/密码)");
String str = sc.next();
String[] info = str.split("/");
if (info.length < 2) {
System.out.println("输入有误,请重新输入:");
showMenu();
} else {
if (admin.findById(info[0]) != null && Objects.equals(admin.findById(info[0]).getApwd(), info[1])) {
adminMenu();
} else if (admin.findUserByid(info[0]) != null
&& Objects.equals(info[1], admin.findUserByid(info[0]).getUpwd())) {
User user = admin.findUserByid(info[0]);
userMenu(user);
} else {
System.out.println("输入有误,请重新输入....");
showMenu();
}
} } public void userMenu(User user) {
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("请输入您要进行的操作:");
String n = sc.next();
switch (n) {
case "1":
admin.shopDishes(user);
userMenu(user);
break;
case "2":
admin.ShowOfTypeByUser();
userMenu(user);
break;
case "3":
admin.showAllOrderByUser(user);
userMenu(user);
break;
case "4":
admin.changePwdByUser(user);
userMenu(user);
break;
case "5":
admin.showByUser(user);
userMenu(user);
break;
case "6":
System.out.println("谢谢使用,再见!");
System.exit(0);
default:
System.out.println("输入错误,请重新输入:");
userMenu(user);
}
} public void adminMenu() {
System.out.println("=========欢迎您尊贵的管理员=======");
System.out.println("====【1】添加菜品===============");
System.out.println("====【2】查看所有菜品信息显示=======");
System.out.println("====【3】查看指定类别的菜品信息=====");
System.out.println("====【4】根据菜品id修改菜品价格=====");
System.out.println("====【5】删除指定id的菜品=========");
System.out.println("====【6】添加客户================");
System.out.println("====【7】查看客户列表=============");
System.out.println("====【8】删除指定id的用户==========");
System.out.println("====【9】订单列表显示=============");
System.out.println("====【10】根据订单id修改订单状态====");
System.out.println("====【11】退出=================");
String m = sc.next();
switch (m) {
case "1":
admin.addDishes();
adminMenu();
break;
case "2":
System.out.println("请输入您需要每行显示多少数据:");
int pageSize = sc.nextInt();
admin.showAllDishes(pageSize);
adminMenu();
break;
case "3":
admin.selecBytypeOfAdmin();
adminMenu();
break;
case "4":
admin.selectByDishesID();
adminMenu();
break;
case "5":
admin.deleteDishes();
adminMenu();
break;
case "6":
admin.addUser();
adminMenu();
break;
case "7":
admin.findUser();
adminMenu();
break;
case "8":
admin.deleteUserByAdmin();
adminMenu();
break;
case "9":
admin.showAllOrder();
adminMenu();
break;
case "10":
admin.changeOrderValue();
adminMenu();
break;
case "11":
System.out.println("谢谢使用,再见!");
System.exit(0);
break;
default:
System.out.println("输入错误,请重新输入:");
adminMenu();
}
}
}

Test

public class Test {
public static void main(String[] args) {
Menu m = new Menu();
m.showMenu();
}
}

运行截图

这时自己在学习javase时为了检测自己的基础,在通过取理解他人的项目源码进行查缺补漏。如果大家有什么疑问可以去原文地址进行阅读

原文地址:blog.csdn.net/weixin_44219955

java实现一个点餐系统的更多相关文章

  1. java实现KFC点餐系统

    这篇文章主要为大家详细介绍了java实现KFC点餐系统,模拟肯德基快餐店的收银系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信 ...

  2. 用java实现一个ATM机系统(2.0版)

    用java实现一个ATM机系统(2.0版) java实现银行ATM自助取款机,实现功能:用户登录.余额查询.存钱.取钱.转账.修改密码.退出系统. 文章目录 用java实现一个ATM机系统(2.0版) ...

  3. 使用Java编写一个简单的Web的监控系统cpu利用率,cpu温度,总内存大小

    原文:http://www.jb51.net/article/75002.htm 这篇文章主要介绍了使用Java编写一个简单的Web的监控系统的例子,并且将重要信息转为XML通过网页前端显示,非常之实 ...

  4. 安卓餐厅点餐系统---针对浩然android工作室的一个小白的分析

    昨天刚把浩然android工作室的下载下来了,为了研究下点餐系统的架构,更好的完成手中的项目,便写出一个分析报告(小白的分析,忘见谅!) 本项目app主要用于餐厅无线订餐使用,功能突出餐厅的订餐需求, ...

  5. java基础10 吃货联盟点餐系统

    public class OrderMsg { public static void main(String[] args) throws Exception { /** * 订餐人姓名.选择菜品.送 ...

  6. 点餐系统web版功能需求

                餐厅到店点餐系统需求分析 (版本v1.0.0)               成文信息 主题词: 需求分析 作  者: 14商软ETC 文档类别: 审  核: 批  准: 文档性 ...

  7. [课程设计]Scrum 3.8 多鱼点餐系统开发进度(留言反馈系统设计)

    Scrum 3.8 多鱼点餐系统开发进度(留言反馈系统设计) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统 ...

  8. [课程设计]Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案)

    Scrum 3.7 多鱼点餐系统开发进度(留言板选择方案) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统W ...

  9. [课程设计]Scrum 3.5 多鱼点餐系统开发进度(修复Bug&美化页面)

    Scrum 3.5 多鱼点餐系统开发进度(修复Bug&美化页面) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅 ...

随机推荐

  1. git branch & git remote branch

    git branch & git remote branch $ git branch -h usage: git branch [<options>] [-r | -a] [-- ...

  2. sass文件编译(.scss->.css),使用ruby环境,在windows10,koala工具,Error: Invalid GBK character "\xE5"

    1 注意事项: 问题描述: 请确保 Encoding.default_external = Encoding.find('utf-8') 是uft-8 编码! sass文件编译时候使用ruby环境,在 ...

  3. HTML script tag type all in one

    HTML script tag type all in one script type https://developer.mozilla.org/en-US/docs/Web/HTML/Elemen ...

  4. svg-path-to-polygons & svg-path-parser

    svg-path-to-polygons & svg-path-parser svg-path-to-polygons https://www.npmjs.com/package/svg-pa ...

  5. Jupyter notebook操作技巧

    学习笔记:Jupyter notebook操作技巧 一.jupyter notebook简介.用途.优势和缺点 二. 单元Cell: 三.操作技巧 - 给Jupyter换主题 - 笔记本扩展(nbex ...

  6. Redis高频面试题总结

    通过面试多家大型互联网企业,总结了如下的高频面试题目: 1.redis 过期键的删除策略? (1)定时删除:在设置键的过期时间的同时,创建一个定时器 timer). 让定时器在键的过期时间来临时,立即 ...

  7. 微信小程序登录流程解析

    小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识openid,快速建立小程序内的用户体系. 登录流程时序: 1.首先,调用 wx.login获取code ,判断用户是否授权读取用户 ...

  8. IDEA如何快速查看类中的属性和方法?

    在idea中,当需要快速的查看一个类的所有属性和方法时,直接去代码中查看,就显得非常的麻烦,idea是有快捷键的,可显示所有的属性和方法,方法如下. 打开一个类,使用快捷键ALT+7,就可以在左侧看到 ...

  9. Dyno-queues 分布式延迟队列 之 辅助功能

    Dyno-queues 分布式延迟队列 之 辅助功能 目录 Dyno-queues 分布式延迟队列 之 辅助功能 0x00 摘要 0x01 前文回顾 0x2 Ack机制 2.1 加入Un-ack集合 ...

  10. Ability之间或者进程间数据传递之对象(Sequenceable序列化)

    鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] 这两天51cto上的一个粉丝朋友问了我一个问题,Ability之间使用Sequenceable序列化传 ...