简单实现java抽奖系统

 更新时间:2020年04月15日 15:29:34   作者:Dzy_water  
这篇文章主要教大家如何简单实现java抽奖系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

本文为大家分享了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();
 }
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。

相关文章

  • SpringBoot Admin使用及心跳检测原理分析

    SpringBoot Admin使用及心跳检测原理分析

    这篇文章主要介绍了SpringBoot Admin使用及心跳检测原理分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 在ssm中使用ModelAndView跳转页面失效的解决

    在ssm中使用ModelAndView跳转页面失效的解决

    这篇文章主要介绍了在ssm中使用ModelAndView跳转页面失效的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 值得收藏的SpringBoot 实用的小技巧

    值得收藏的SpringBoot 实用的小技巧

    最近分享的一些源码、框架设计的东西。我发现大家热情不是特别高,想想大多数应该还是正儿八经写代码的居多;这次就分享一点接地气的: SpringBoot 使用中的一些小技巧 ,需要的朋友可以参考下
    2018-10-10
  • idea springboot远程debug的操作方法

    idea springboot远程debug的操作方法

    这篇文章主要介绍了idea springboot远程debug的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • IDEA创建自定义模板图文教程

    IDEA创建自定义模板图文教程

    我们每次在使用IntelliJ IDEA 时总会有一些文件是一直被创建的,今天我们就来学习一下IntelliJ IDEA 的自定义模板功能,文中有详细的图文介绍,需要的朋友可以参考下
    2021-05-05
  • Java 在Excel单元格中应用一种/多种字体样式(实例代码)

    Java 在Excel单元格中应用一种/多种字体样式(实例代码)

    这篇文章主要介绍了Java 在Excel单元格中应用一种/多种字体样式,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 浅谈Java数据结构之稀疏数组知识总结

    浅谈Java数据结构之稀疏数组知识总结

    今天带大家了解一下Java稀疏数组的相关知识,文中有非常详细的介绍及代码示例,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • Java组件FileUpload上传文件实现代码

    Java组件FileUpload上传文件实现代码

    这篇文章主要为大家详细介绍了Java组件FileUpload上传文件实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • java发送heartbeat心跳包(byte转16进制)

    java发送heartbeat心跳包(byte转16进制)

    这篇文章主要介绍了java发送heartbeat心跳包(byte转16进制),需要的朋友可以参考下
    2014-05-05
  • Java锁之阻塞锁介绍和代码实例

    Java锁之阻塞锁介绍和代码实例

    这篇文章主要介绍了Java锁之阻塞锁介绍和代码实例,阻塞锁与自旋锁不同,它改变了线程的运行状态,需要的朋友可以参考下
    2014-09-09

最新评论

?


http://www.vxiaotou.com