任务5
【任务5.1】基础信息实体类
在com.qst.dms.entity 下创建DataBase.java
功能要求:
- 成员属性如下
// ID标识 private int id; // 时间 private Date time; // 地点 private String address; // 状态 private int type; // 状态常量 public static final int GATHER=1;//"采集" public static final int MATHCH=2;//"匹配"; public static final int RECORD=3;//"记录"; public static final int SEND=4;//"发送"; public static final int RECIVE=5;//"接收"; public static final int WRITE=6;//"归档"; public static final int SAVE=7;//"保存";
- 构造方法、get/set方法、toString()
程序设计
package com.qst.dms.entity; import java.util.Date; public class DataBase { // ID标识 private int id; // 时间 private Date time; // 地点 private String address; // 状态 private int type; // 状态常量 public static final int GATHER = 1;//"采集" public static final int MATHCH = 2;//"匹配"; public static final int RECORD = 3;//"记录"; public static final int SEND = 4;//"发送"; public static final int RECIVE = 5;//"接收"; public static final int WRITE = 6;//"归档"; public static final int SAVE = 7;//"保存"; public DataBase(int id, Date time, String address, int type) { this.id = id; this.time = time; this.address = address; this.type = type; } public int getId() { return id; } public void setId(int id) { this.id = id; } public Date getTime() { return time; } public void setTime(Date time) { this.time = time; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public int getType() { return type; } public void setType(int type) { this.type = type; } @Override public String toString() { return "\nid=" + id + "\ntime=" + time + "\naddress=" + address + "\ntype=" + type ; } }
【任务5.2.1】继承DataBase类,重构日志类
在com.qst.dms.entity 重写 LogRec.java
功能要求:
- 成员属性如下
/** * 登录用户名 */ private String user; /** * 登录用户主机IP地址 */ private String ip; /** * 登录状态:登录、登出 */ private int logType; /** * 登录常量LOG_IN、登出常量常量LOG_OUT */ public static final int LOG_IN=1; public static final int LOG_OUT=0;
- 构造方法、get/set方法、toString()
- 实现toArray()方法,将对象的属性数据,转换为字符数组。
程序设计
package com.qst.dms.entity; import java.util.Date; public class LogRec extends DataBase { /** * 登录用户名 */ private String user; /** * 登录用户主机IP地址 */ private String ip; /** * 登录状态:登录、登出 */ private int logType; /** * 登录常量LOG_IN、登出常量常量LOG_OUT */ public static final int LOG_IN=1; public static final int LOG_OUT=0; public static final String LogTypeArray[]=new String[]{ "LogOut", "LogIn" }; public LogRec(int id, Date time, String address, int type, String user, String ip, int logType) { super(id, time, address, type); this.user = user; this.ip = ip; this.logType = logType; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public int getLogType() { return logType; } public void setLogType(int logType) { this.logType = logType; } @Override public String toString() { return "LogRec: " + super.toString() + "\nuser=" + user + "\nip=" + ip + "\nlogType=" + LogTypeArray[logType] + "\n"; } public char[] toArray() { String data = this.getId() + "," + this.getTime().getTime() + "," + this.getAddress() + "," + this.getType() + "," + this.getUser() + "," + this.getIp() + "," + LogTypeArray[this.getLogType()]; return data.toCharArray(); } }
【任务5.2.2】继承DataBase类,重构物流实体类
在com.qst.dms.entity 重写 Transport.java
功能要求:
- 成员属性如下
/** * 经手人 */ private String handler; /** * 收货人 */ private String reciver; /** * 物流状态 */ private int transportType; /** * 物流状态常量:发货中, 送货中, 已签收 */ public static final int SENDDING = 1;// 发货中 public static final int TRANSPORTING = 2;// 送货中 public static final int RECIEVED = 3;// 已签收
- 构造方法、get/set方法、toString()
- 实现toArray()方法,将对象的属性数据,转换为字符数组。
程序设计
package com.qst.dms.entity; import java.util.Date; public class Transport extends DataBase { /** * 经手人 */ private String handler; /** * 收货人 */ private String reciver; /** * 物流状态 */ private int transportType; /** * 物流状态常量:发货中, 送货中, 已签收 */ public static final int SENDING = 1;// 发货中 public static final int TRANSPORTING = 2;// 送货中 public static final int RECEIVED = 3;// 已签收 public static final String TransportArray[]=new String[]{ null, "SENDDING", "TRANSPORTING", "RECIEVED" }; public Transport(int id, Date time, String address, int type, String handler, String reciver, int transportType) { super(id, time, address, type); this.handler = handler; this.reciver = reciver; this.transportType = transportType; } public String getHandler() { return handler; } public void setHandler(String handler) { this.handler = handler; } public String getReciver() { return reciver; } public void setReciver(String reciver) { this.reciver = reciver; } public int getTransportType() { return transportType; } public void setTransportType(int transportType) { this.transportType = transportType; } @Override public String toString() { return "Transport: " + super.toString() + "\nhandler=" + handler + "\nreciver=" + reciver + "\ntransportType=" + TransportArray[transportType] + "\n"; } public char[] toArray() { String data = this.getId() + "," + this.getTime().getTime() + "," + this.getAddress() + "," + this.getType() + "," + this.getHandler() + "," + this.getReciver() + "," + TransportArray[this.getTransportType()]; return data.toCharArray(); } }
【任务5.2.3】创建物流、日志测试类,测试任务5.2中的程序,演示物流信息、日志信息的采集及打印输出
在com.qst.dms.dos 下创建EntityDataDemo.java
功能要求:采集2组物流信息、2组日志信息,放到数组中,再打印输出
程序设计
package com.qst.dms.dos; import com.qst.dms.entity.LogRec; import com.qst.dms.entity.Transport; import com.qst.dms.service.LogRecService; import com.qst.dms.service.TransportService; public class EntityDataDemo { public static void main(String[] args) { LogRecService logRecService = new LogRecService(); TransportService transportService = new TransportService(); // 采集日志信息 LogRec logRec1 = logRecService.inputLog(); LogRec logRec2 = logRecService.inputLog(); // 放到数组中 LogRec[] logRecArray = {logRec1, logRec2}; // 打印输出 logRecService.showLog(logRecArray); // 采集物流信息 Transport transport1 = transportService.inputTransport(); Transport transport2 = transportService.inputTransport(); // 放到数组中 Transport[] transportArray = {transport1, transport2}; // 打印输出 transportService.showTransport(transportArray); } }
测试:
要求全部可能情况都要测一遍
存在哪些可能的bug及修复?
当输入非法字符时会报错,可以添加异常处理,提示用户重新输入。