主要任务:
模拟抽奖,实现用户的注册、登录以及幸运抽奖三大功能
主要功能:
注册:
输入账号和密码进行用户注册,并且随机生成卡号,只有注册成功才能进行用户登录
登录:
输入账号和密码进行登录验证,登录成功才能进行幸运抽奖
幸运抽奖:
登录成功后,输入卡号进行抽奖,判断用户是否为幸运用户
代码:
import java.util.Arrays;
import java.util.Scanner;
/**
* @Author: Bun
* @Version: 1.0
* @Date: 2022/9/27-19:52
* @Since: jdk1.8
* @Name: 幸运抽奖
*/
public class LuckyRemake {
Scanner scanner = new Scanner(System.in);
int account = 0, passWord = 0, cardNum = 0, G = 0;
/*
主界面start
*/
public void start() {
int menu;
System.out.println("-----------------------------");
System.out.println("1.注册账号");
System.out.println("2.登录账号");
System.out.println("3.抽奖系统");
System.out.println("4.退出");
System.out.println("-----------------------------");
System.out.println("请选择:");
menu = scanner.nextInt();
switch (menu) {
case 1:
register();
break;
case 2:
login();
break;
case 3:
luck();
break;
case 4:
quit();
break;
default:
System.out.println("您的输入有误!");
start();
}
}
/*
注册系统register
*/
public void register() {
System.out.println("[欢迎使用注册系统,请填写您的注册信息: ]");
System.out.println("请输入您的账号: ");
account = scanner.nextInt();
System.out.println("请输入您的密码: ");
passWord = scanner.nextInt();
//卡号
int max = 9999;
int min = 1000;
cardNum = (int) (Math.random() * (max - min) + min);
//Math.random()是令系统随机选取大于等于 0.0 且小于 1.0 的伪随机 double 值
System.out.println("注册完成!");
System.out.println("您的账号密码是: ");
System.out.println("账号 :" + account + " 密码: " + passWord);
System.out.println("您的卡号是: " + cardNum);
G = 1;
System.out.println("是否继续?(y/n)");
String jiXv = scanner.next();
if (jiXv.equals("y")) {
start();
} else {
quit();
}
}
/*
登录系统login
*/
public void login() {
int account1, passWrod1, jName, jPassWord;
String jiXv;
int frequency = 0;
if (G != 1) {
System.out.println("请先注册!");
start();
} else {
for (int i = 1; i < 4; i++) {
System.out.println("[欢迎使用登录系统,请填写您的账号密码: ]");
System.out.println("请输入您的账号: ");
account1 = scanner.nextInt();
System.out.println("请输入您的密码: ");
passWrod1 = scanner.nextInt();
//将输入的账号密码赋值给jName和jPassWord,用于之后的判断
jName = account1;
jPassWord = passWrod1;
if (jName == account && jPassWord == passWord) {
System.out.println("登陆成功!");
System.out.println("欢迎您: " + cardNum);
G = 2;
System.out.println("是否继续?(y/n)");
jiXv = scanner.next();
if (jiXv.equals("y")) {
start();
break;
} else {
quit();
}
} else {
frequency++;
System.out.println("登陆失败");
System.out.println("账号或密码错误,请重新输入:");
System.out.println("剩余机会:" + (3 - frequency));
if (frequency == 3) {
System.out.println("机会已用完");
quit();
}
}
}
}
}
/*
幸运抽奖luck
*/
public void luck() {
String jiXv;
if (G != 2) {
System.out.println("请先登录!");
start();
} else {
System.out.println("[欢迎使用抽奖系统]");
int[] luckyNumber = getNumbers();
System.out.println("本轮幸运卡号有: " + Arrays.toString(luckyNumber));
for (int i : luckyNumber) {
for (int L : luckyNumber) {
if (cardNum == L) {
System.out.println("[恭喜你,中奖了!]");
System.out.println("正在返回主界面");
start();
}
}
System.out.println("[很遗憾,你不是今日的幸运会员!]");
System.out.println("正在返回主界面");
start();
}
}
}
/*
摇奖
*/
public static int[] getNumbers() {
int[] luckyNumber = new int[5];
for (int i = 0; i < luckyNumber.length; i++) {
luckyNumber[i] = (int) (Math.random() * 9000 + 1000);
}
return luckyNumber;
}
/*
退出quit
*/
public static void quit() {
System.out.println("正在退出");
return;
}
public static void main(String[] args) {
LuckyRemake st = new LuckyRemake();
st.start();
}
}