import java.util.*;
/**
* @Author:
* @Date:2023/3/20 17:18
* @Item:
*/
public class Luck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
/*实现菜单的输出显示
需求说明
输出菜单
选择菜单编号,输出菜单信息
如果编号选择错误,输出“您的输入有误!”*/
/**
* 系统询问用户是否继续
* 如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统
*/
System.out.println("*******欢迎进入奖客富翁系统*******");
System.out.println("1.注册");
System.out.println("2.登录");
System.out.println("3.抽奖");
System.out.println("*****************************");
String answer = null;//是否继续
String registerUserName = "";//注册用户名
String registerPassword = null;//注册密码
String loginUserName = null;//登录用户名
String loginPassword = null;//登录密码
int cardNumber = 0;//随机卡号
int cardNumber2 = 0;//随机卡号
int cardNumber3 = 0;//随机卡号
int loginCardNumber = 0;//登录随机卡号
int[] luckNum = new int[5];//幸运数字数组
boolean isOk = false;//判断是否是幸运会员
boolean isReg = false;//是否注册
boolean isLogin = false;//是否登录
/*系统询问用户是否继续
如果用户选择继续,则可以继续选择菜单,否则程序结束,退出系统*/
do {
System.out.println("请选择菜单:");
int gameNo = scanner.nextInt();
//首先完成注册
/*if (registerUserName.isEmpty() && gameNo != 1) {
System.out.println("请先注册!");
answer = "y";
continue;
}*/
/* if (isReg == false && gameNo != 1) {
System.out.println("请先注册!");
answer = "y";
continue;
}*/
switch (gameNo) {
case 1:
System.out.println("[奖客富翁系统 > 注册]");
/**
* 输入用户名和密码,系统产生4位随机数作为卡号。
* 注册成功,显示注册信息并修改注册标识为true
*/
System.out.println("请填写个人注册信息:");
System.out.println("用户名:");
registerUserName = scanner.next();
System.out.println("密码:");
registerPassword = scanner.next();
System.out.println();
System.out.println("注册成功,请记好您的会员卡号");
System.out.println("用户名\t密码\t\t会员卡号");
//生成随机4位数[3种方法不考虑概率]
cardNumber = (int) (Math.random() * 9000 + 1000);
cardNumber2 = (int) (Math.random() * 10000);
if (cardNumber2 < 1000) cardNumber2 += 1000;
do {
cardNumber3 = (int) (Math.random() * 10000);
} while (cardNumber3 < 1000);
isReg = true;
System.out.println(registerUserName + "\t" + registerPassword + "\t" + cardNumber);
break;
case 2:
//判断用户是否注册
if (isReg==false){
System.out.println("您尚未注册,请先注册");
break;//跳过case2剩余代码,直接出switch
}
System.out.println("[奖客富翁系统 > 登录]");
/*输入注册时的用户名和密码,登录成功,提示欢迎信息
如果用户名和密码输入错误,提示用户继续输入,
最多有3次输入机会*/
for (int i = 1; i <=3 ; i++) {
System.out.println("请输入用户名:");
loginUserName = scanner.next();
System.out.println("请输入密码:");
loginPassword = scanner.next();
if (loginPassword.equals(registerPassword) && loginUserName.equals(registerUserName)) {
System.out.println("欢迎您" + loginUserName);
isLogin=true;
break;//跳出for循环
} else {
if (3-i>0) {
System.out.println("您的用户名或密码输入错误!");
System.out.println("您的还有" + (3 - i) + "次机会");
}else {
System.out.println("请重新登录");
}
}
}
break;
case 3:
//判断用户是否登录
if (isLogin==false){
System.out.println("您尚未登录,请先登录");
break;//跳过case3剩余代码,直接出switch
}
System.out.println("[奖客富翁系统 > 抽奖]");
do {
System.out.println("请输入您的卡号:");
loginCardNumber = scanner.nextInt();
if (loginCardNumber != cardNumber) {
System.out.println("请输入自己的会员号!");
continue;
}
System.out.println();
System.out.print("本日的幸运数字为:");
for (int i = 0; i < luckNum.length; i++) {
luckNum[i] = (int) (Math.random() * 9000 + 1000);
System.out.print(luckNum[i] + "\t");
if (loginCardNumber == luckNum[i]) {
isOk = true;
}
}
System.out.println();
if (isOk != true) {
System.out.println("抱歉!您不是本日的幸运会员!");
break;
} else {
System.out.println("恭喜你!中奖了!");
break;
}
} while (loginCardNumber != cardNumber);
break;
default:
System.out.println("您的输入有误!");
break;
}
System.out.println("是否继续(y/n)");
answer = scanner.next();
if (answer.equals("n")) {
System.out.println("系统退出,谢谢使用!");
break;
}
} while (answer.equals("y"));
}
}