导读热词
本文为大家分享了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();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
相关文章
总结
以上是编程之家为你收集整理的简单实现java抽奖系统全部内容,希望文章能够帮你解决简单实现java抽奖系统所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250