简单实现java抽奖系统

网友投稿 372 2023-02-26


简单实现java抽奖系统

本文为大家分享了java抽奖系统的具体代码,供大家参考,具体内容如下

用户信息类

/*

* 用户信息类

* 1.账号

* 2.密码

* 3.卡号

* 4.是否登录

*/

public class User {

public static String userName = "";

public static String passWord = "";

public static int cardNumber = 0;

// 是否登录

public static boolean isLogin = false;

// 是否注册

public static boolean isRegister = false;

}

注册类

/*

* 注册类

* 1.输入账号 密码

* 2.产生随机号 [1000,2000]

* 3.保存用户注册信息

* 4.提示注册成功

*/

public class Register {

// 注册方法

public static void userRegister() {

System.out.println("请输入用户名:");

Scanner scanner = new Scanner(System.in);

// 接收用户信息

String userName = scanner.nextLine();

System.out.println("请输入密码:");

String passWord = scanner.nextLine();

int num = (int)(Math.random() * 1001 + 1000);

// 保存到用户类中

User.userName = userName;

User.passWord = passWord;

User.cardNumber = num;

// 打印注册信息

System.out.println();

System.out.println("注册成功,请记好你的会员卡号");

System.out.println("用户名:" + userName);

System.out.println("密码:" + passWord);

System.out.println("卡号:" + num);

// 保存注册状态

User.isRegister = true;

}

}

登录类

/*

* 登录类

* 1.输入登录的账号和密码

* 2.和用户信息 进行匹配

* 有三次重新输入的机会

* 3.登录成功

*/

public class Login {

// 保存登录失败的次数

static int num = 0;

// 登录方法

// 静态方法里面 需要使用静态的成员变量

public static boolean userLogin() {

// 先判断是否注册

if (User.isRegister == false) {

System.out.println("请先注册");

Register.userRegister();

// 登录失败

return false;

}

// 输入信息

System.out.println("用户名:");

Scanner scanner = new Scanner(System.in);

// 接收信息

String userName = scanner.nextLine();

System.out.println("密码:");

String passWord = scanner.nextLine();

// 判断匹配登录信息

if(userName.equals(User.userName) && passWord.equals(User.passWord)) {

// 登录成功

System.out.println("欢迎您" + userName);

// 返回登录结果

return true;

} else {

// 登录失败

num++;

// 提示用户还剩几次机会

System.out.println("用户名或密码有误,请重新输入!" + "还剩" + (3 - num) + "次");

// 判断登录错了几次

if (num != 3) {

// 继续登录

userLogin();

} else {

// 登录失败

System.out.println("对不起三次机会用完,请明日再来!");

// 重置记录登录次数的变量

num = 0;

}

// 如果代码走到这里 一定是登录失败

return false;

}

}

}

抽奖类

/*

* 抽奖类

* 1.判断是否登录

* 2.输入抽奖卡号

* 有三次输入卡号的机会

* 3.判断是否中奖

*/

public class CJ {

// 保存输入卡号的次数

static int cardNumber = 0;

// 抽奖方法

public static void userCJ() {

// 判断登录状态

if (!User.isLogin) {

// 没登录 直接结束方法

System.out.println("请先登录");

return;

}

// 判断是否输入正确

if(!isCarNum()) {

System.out.println("你输入的不正确");

return;

}

// 匹配账号

// 保存是否中奖的变量

boolean isCJ = false;

// 随机五个数并且拼接成字符串打印逗号隔开

String string = "本日幸运数字:";

for (int i = 0; i < 5; i++) {

// 随机

int num = (int)(Math.random() * 1001 + 1000);

// 拼接

if (i < 4) {

string = string + num + ",";

} else {

string = string + num;

}

// 查看是否中奖

if (num == User.cardNumber) {

isCJ = true;

}

}

// 打印中奖号

System.out.println(string);

// 判断是否中奖

if(isCJ) {

System.out.println("中奖");

} else {

System.out.println("没中奖");

}

}

// 输入卡号方法

public static boolean isCarNum() {

System.out.println("请输入卡号:");

Scanner scanner = new Scanner(System.in);

// 接收

String carNum = scanner.nextLine();

// 转int

int num = Integer.parseInt(carNum);

// 进行比对

if (User.cardNumber == num) {

// 匹配正确

System.out.println("卡号输入正确");

return true;

} else {

//匹配不正确

cardNumber++;

System.out.println("输入还剩" + (3 - cardNumber) + "次");

if (cardNumber != 3) {

isCarNum();

} else {

System.out.println("3次机会用完");

// 输入卡号次数重置

cardNumber = 0;

}

return false;

}

}

}

抽奖抽奖类(组装抽奖逻辑)

/*

* 抽奖开始类(组装抽奖逻辑)

*

*/

public class Cjstart {

// 抽奖开始

public void cjStart() {

// 是否继续主菜单

String isGoOn = "";

// 循环主菜单

do {

System.out.println("*****欢迎进入抽奖系统*****");

System.out.println(" 1.注册");

System.out.println(" 2.登录");

System.out.println(" 3.抽奖");

System.out.println("************************");

Scanner scanner = new Scanner(System.in);

// 接收菜单选项

String menuNum = scanner.nextLine();

// 判断选项

chooseMenuNum(menuNum);

// 接收是否继续

System.out.println("是否继续选择? y/n");

isGoOn = scanner.nextLine();

} while (isGoOn.equals("y"));

}

// 判断菜单选项

public void chooseMenuNum(String menuNum) {

switch (menuNum) {

case "1":

System.out.println("[蓝欧抽奖系统 > 注册]");

System.out.println("请填写个人注册信息:");

// 调用注册方法

Register.userRegister();

break;

case "2":

System.out.println("[蓝欧抽奖系统 > 登录]");

// 调用登录方法 保存登录状态

boolean userLogin = Login.userLogin();

User.isLogin = userLogin;

break;

case "3":

System.out.println("[蓝欧抽奖系统 > 抽奖]");

// 调用抽奖方法

CJ.userCJ();

break;

default:

System.out.println("输入错误,请重新选择");

break;

}

}

}

测试类

/*

* 测试类

*/

public class CJTest {

public static void main(String[] args) {

CJStart cjStart = new CJStart();

cjStart.cjStart();

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:vue2.0 父组件给子组件传递数据的方法
下一篇:vue watch自动检测数据变化实时渲染的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~