智能快递柜 小区快递管理系统 疫情期间为了减少人员接触,很多小区在快递的配送流程中,加入了快递柜
2020-07-14 06:31
531 查看
任务:
小区快递管理系统
疫情期间为了减少人员接触,很多小区在快递的配送流程中,加入了快递柜.
下面是class Kuaidi
// 父类class Kuaidi用于存储快递信息
private static String number;// 单号 private static String company;// 公司 private static int[][] nums = new int[10][10];//快递的位置 private static int code;// 取件码 public static Object[][] o = new Object[100][5];//用二维数组储存信息 private static int x; private static int y; public static int count = 0; //。。。。。。。。。。。封装。。。。。。。。。。。。 public void setOskuaididanhao(String kuaididanhao) { o[count][0] = kuaididanhao; } public void setOkuaidigongsi(String kuaidigongsi) { o[count][1] = kuaidigongsi; } public void setOqujianma(int qujianma) { o[count][2] = qujianma; } public void setOX(int X) { o[count][3] = X; } public void setOY(int Y) { o[count][4] = Y; }
//class Admin 继承 Kuaidi add方法用于放入快递
void add(String kuaididanhao, String kuaidigongsi) { o[count][0] = kuaididanhao; o[count][1] = kuaidigongsi; Random random = new Random(); while (1 > 0) { int x = random.nextInt(10);//生成随机柜子位置 setX(x); int y = random.nextInt(10); setY(y); int[][] num1 = new int[10][10]; num1 = getNums(); if (num1[x][y] == 0) {//如果生成的柜子位置没有被使用,就赋值1 num1[x][y] = 1; setOX(x); setOY(y); o[count][3] = x; o[count][4] = y; count++;//已存快递数量+1 break; } } h: while (1 > 0) {//生成随机取件码 int code = random.nextInt(900000) + 100000; for (int j = 0; j < count; j++) { if (o[j][2].equals(code)) {//如果取件码重复,重新生成 break; } if (j == count - 1) {//扫描全部(除了自己本身)之后,没有重复就把这个取件码存到二维数组里 o[count][2] = code; break h; } } } }
remove方法用于删除快递 并把该快递信息从二维数组中删除,他以后的信息的存储位置往前提一位
void remove(String a) { int flag; for (int i = 0; i < count; i++) { if (o[count][0].equals(a)) { flag = i; for (int j = flag; j < 100; j++) { o[j] = o[j + 1]; o[100] = null; break; } } } count--; }
//修改快递信息的方法
void xiugai(String a) { int flag = -1; for (int i = 0; i < count; i++) { if (o[count][0].equals(a)) { flag = i; break; } Scanner input = new Scanner(System.in); System.out.println("请修改快递单号"); o[flag][0] = input.nextLine(); System.out.println("请修改快递公司"); o[flag][1] = input.nextLine(); } }
下面展示
快递员类。
快递员
public class Courier extends Admin { void inkuaidi() { Scanner input = new Scanner(System.in); System.out.println("请输入快递单号"); String danhao = input.nextLine(); System.out.println("请输入快递公司"); String gongsi = input.nextLine(); add(danhao, gongsi); } void changekuaidi() { Scanner input = new Scanner(System.in); System.out.println("请输入快递单号"); String danhao1 = input.nextLine(); xiugai(danhao1); } }
下面展示
用户类。
用户
public class User extends Admin { void outkuaidi() { int flag; System.out.println("请输入六位取件码"); Scanner in = new Scanner(System.in); int a = in.nextInt(); for (int i = 0; i < count; i++) { if (o[count][2].equals(a)) { flag = i; System.out.println( "快递在第" + o[flag][3] + "行,第" + o[flag][4] + "列。快递公司:" + o[flag][1] + ",快递单号:" + o[flag][0]); for (int j = flag; j < 100; j++) { o[j] = o[j + 1]; o[100] = null; } break; } } count--; } }
下面展示
使用界面类。
使用界面
public class Interface { public static void main(String[] args) { User u = new User(); Courier courier = new Courier(); System.out.println("------欢迎使用智能快递柜------"); while (1 > 0) { System.out.println("请输入:1(存快递) 2(取快递) 3(修改快递信息)"); Scanner in = new Scanner(System.in); int i = in.nextInt(); if (i == 1) { courier.inkuaidi(); System.out.println("请输入是否继续操作(是/否)"); Scanner in1 = new Scanner(System.in); String judge = in1.next(); if (judge.equals("否")) { break; } } else if (i == 2) { u.outkuaidi(); System.out.println("请输入是否继续操作(是/否)"); Scanner in2 = new Scanner(System.in); String judge = in2.next(); if (judge.equals("否")) { break; } } else if (i == 3) { courier.changekuaidi(); System.out.println("请输入是否继续操作(是/否)"); Scanner in3 = new Scanner(System.in); String judge = in3.next(); if (judge.equals("否")) { break; } } else { System.out.println("输入错误,请重新选择"); } } System.out.println("欢迎下次使用!"); } }
相关文章推荐
- 艾力奋人脸识别测温门禁一体机系统 展会智能闸机人员管理
- 医院节能管理系统减少能耗
- 实现“互联网+政务服务”平台与运政管理业务系统的数据自动流转,窗口工作人员不再手工二次录入--二次录入
- Git使用流程(分布式版本管理系统)
- 嵌入式QT精品视频教程:开发RFID智能仓储指纹管理系统
- 优优智能客户关系管理系统UUCRM5.0
- 酒店VOD智能管理系统
- 基于客户端与服务器快递管理系统
- 智能销售系统后台流程简介
- Office 365 利用并行工作流构建威客式任务管理系统之使用SharePoint Designer 定制威客任务管理流程!
- Bugtags,最适合移动应用的智能 Bug 管理系统
- 人员管理系统(使用struts)--页面代码
- 关于其它模块的设计,有非常多须要自己去构建和完毕,在这里就简单地举几个样例来看看其它模块的设计。我们要做的就是有更改password模块,客户选择模块和关于本软件模块。更改password模块用来更改管理员的password,客户选择对话框模块用来选择已加入的客户,关于本软件模块用来说明客户管理系统的一些必要信息和制作人的信息。
- 生产管理系统定制开发的项目流程
- 基于嵌入式Linux/Qt 开发RFID智能仓储指纹管理系统
- 16级C++课程设计 题目1 “高校人员信息管理系统设计”
- 启动流程和系统管理
- /etc/rc.local中加入的命令为什么不自动运行呢 - Linux系统管理 - ChinaUnix.net -
- web工作流管理系统开发之三 可视化流程设计器
- VIPServer:阿里智能地址映射及环境管理系统详解