快乐E栈项目实战第一阶段
简单的快递E栈功能,实现角色切换、存快递、删快递、修改快递、查询快递、取快递功能,目前根据第一阶段所学主要使用流程控制进行处理:
package happyEStack;
import java.util.Random;
import java.util.Scanner;
public class happyEStack {
static String g_courierNum = "";
static int g_takeCode = 0;
static String g_companyName = "";
static Scanner g_scanner = new Scanner(System.in);
public static void main(String[] args) {
while(true) {
//1、角色切换
System.out.println("=====欢迎使用快乐e栈快递柜=====");
System.out.println("请输入您的身份:1-快递员,2-用户");
int identity = getUserIntInput(g_scanner);
if(identity != 1 && identity != 2) {
System.out.println("您输入的身份类型错误");
continue;
}
if(1 == identity) {
System.out.println("请选择操作:1-存快递 2-删除快递 3-修改快递信息 4-查看所有快递");
int option = getUserIntInput(g_scanner);
switch(option) {
case 1: //2、存快递
saveCourier();
break;
case 2: //3、删除快递
delCourier();
break;
case 3: //4、修改快递
modifyCourier();
break;
case 4: //5、查看所有快递
queryCourier();
break;
default:
System.out.println("您选择的操作错误");
continue;
}
} else if(2 == identity) {
//6、取快递
takeCourier();
}
}
}
/**
* 获取用户输入的Int类型值并判断
* 参数:Scanner对象
* 返回值:输入正确返回输入值,输入错误进行打印并返回-1
*/
public static int getUserIntInput(Scanner scanner) {
if(scanner.hasNextInt()) {
return scanner.nextInt();
} else {
System.out.println("你输入的信息错误");
}
return -1;
}
/**
* 获取用户输入的String类型值并判断
* 参数:Scanner对象
* 返回值:输入正确返回输入值,输入错误返回null
*/
public static String getUserStringInput(Scanner scanner) {
if(scanner.hasNext()) {
return scanner.next();
} else {
System.out.println("你输入的信息错误");
}
return null;
}
/**
* 数据初始化
*/
public static void init() {
g_courierNum = "";
g_companyName = "";
g_takeCode = 0;
}
/**
* 存快递相关操作
*/
public static void saveCourier() {
System.out.println("请输入快递单号:");
g_courierNum = getUserStringInput(g_scanner);
System.out.println("请输入公司名称:");
g_companyName = getUserStringInput(g_scanner);
g_takeCode = new Random().nextInt(900) + 100;
System.out.println("快递已存入,取件码是:"+g_takeCode);
}
/**
* 删除快递相关操作
*/
public static void delCourier() {
System.out.println("请输入要删除的快递单号:");
String courierNumDel = getUserStringInput(g_scanner);
if(courierNumDel.equals(g_courierNum)) {
System.out.println("删除成功");
init();
} else {
System.out.println("未找到快递");
}
}
/**
* 修改快递相关操作
*/
public static void modifyCourier() {
System.out.println("请输入要修改的快递单号:");
String courierNumOld = getUserStringInput(g_scanner);
if(courierNumOld.equals(g_courierNum)) {
System.out.println("请输入新的快递单号:");
g_courierNum = getUserStringInput(g_scanner);
System.out.println("请输入新的公司名称:");
g_companyName = getUserStringInput(g_scanner);
System.out.println("修改成功");
} else {
System.out.println("未找到该快递");
}
}
/**
* 查看快递相关操作
*/
public static void queryCourier() {
System.out.println("所有快递信息如下:");
System.out.println("快递单号\t"+"公司名称\t"+"取件码\t");
System.out.println(g_courierNum+"\t"+g_companyName+"\t"+g_takeCode+"\t");
}
/**
* 取快递相关操作
*/
public static void takeCourier() {
System.out.println("请输入取件码:");
int takeCodeGet = getUserIntInput(g_scanner);
if(takeCodeGet == g_takeCode) {
System.out.println("取件成功");
init();
} else {
System.out.println("未找到该快递");
}
}
}