时间:2020-10-09 13:09:06 | 栏目: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(); } }