纯java代码实现抽奖系统

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

模拟一个在终端登陆注册的页面

public class Cjtest {
 public static void main(String[] args) {
  String isGoOn = "n"; //循环的判断条件是否继续
 do {
  System.out.println("*********幸运52********");
  System.out.println("1.注册");
  System.out.println("2.登录");
  System.out.println("3.幸运大抽奖");
  System.out.println("***********************");
  System.out.println("请选择菜单");
  //接收用户选择的菜单
  Scanner scanner = new Scanner(System.in);
  String meunNum = scanner.nextLine();
  //根据用户的选择 来执行对应功能
  meunChoose(meunNum);
  System.out.println("是否继续---输入y/n");
  //接收判断循环条件
  isGoOn = scanner.nextLine();
 } while (isGoOn.equals("y"));
 //循环结束提示
 System.out.println("欢迎下次使用");
 }
 //选择对应的方法
 public static void meunChoose(String meunNum) {
 switch (meunNum) {
 case "1":
  System.out.println("抽奖系统----注册");
  //调用 注册的方法
  Register.register();
 case "2":
  System.out.println("抽奖系统----登录");
  //调用登录的方法
  User.isLogin=Login.login();
  break;
 case "3":
  System.out.println("抽奖系统----幸运抽奖");
  LuckDraw.lukcDraw();
  break;
 default:
  System.out.println("输入错误请重新输入");
  break;
 }

 }
}

不连接数据库所以模拟一个注册时用户信息所存放的位置

public class User {
 //用户名
 public static String userName = "";
 //密码
 public static String passWord = "";
 //幸运数字
 public static int luckNumber = 0;
 //用户的登录状态
 public static boolean isLogin = false;

}

注册功能实现

public class Register {
 public static void register() {
 System.out.println("请注册用户的个人信息");
 Scanner scanner = new Scanner(System.in);
 System.out.println("用户名");
 //接收用户名 放在用户信息中
 User.userName = scanner.nextLine();
 System.out.println("密码");
 //接收到用户信息中
 User.passWord = scanner.nextLine();
 //随机一个四位的1000-2000的数 保存到用户中。
 User.luckNumber = (int)(Math.random()*(2000-1000+1)+1000);
 //显示用户的注册信息
 System.out.println("用户名"+User.userName);
 System.out.println("密码"+User.passWord);
 System.out.println("幸运数字"+User.luckNumber);
//scanner.close();标记:注意scanner 只能关闭一次 关闭后在本程序执行中 在创建也不能接收键盘信息了
 } 

}

登陆

public class Login {
 static int number = 0;//控制循环输入密码三次
 public static boolean login() {
 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("登陆成功");
  //返回一个登录状态
  return true;
 }else {
  //登录失败 有重新登录三次机会。
  number++;
  System.out.println("你还有"+(3-number)+"次机会");
  if (number !=3) {
  //还有登陆的机会
  login();
 }else {
  //三次机会已用 登录失败
  System.out.println("三次机会已用完 登录失败");
 }
  //写返回值的时候要保证每一个分支都要有返回值
  return false;
 }
 }
}

抽奖系统逻辑

public class LuckDraw {
 //记录输入卡号注册
 static int number = 0;
 public static void lukcDraw() {
 //是否注册 没注册不能抽
 if(User.userName.length() ==0 ) {
  //没注册 下面都不执行
  System.out.println("你没注册");
  return;
 }
 //是否登录 没登录不让抽
 if(!User.isLogin) {
  System.out.println("你没登录");
  return;
 }
 //如果卡号没输对 也不让抽奖 直接return
 if (!isLuckNumber()) {
  System.out.println("卡号不对!不能登录");
  return;
 }
 //真的 可以抽奖了
 //定义一个 变量保存中奖的结果
 boolean isLucky = false;
 //随机五个数 打印出结果 并判断是否匹配幸运号码
 //定义一个变量 来保存累加的字符串
 String s = "本次幸运的数";
 for (int i = 0; i < 5; i++) {
  int num = (int) (Math.random() * (2000-1000+1) + 1000);
  //拼接要打印的字符串
  if(i<5) {
  s = s + num+",";
  }else {
  s = s+num;
  }
  //判断是否中奖
  if(User.luckNumber==num);
  //中奖
  isLucky = true;
 }
 //打印幸运数字
 System.out.println(s);
 if (isLucky) {
  System.out.println("你中奖了");
 }else {
  System.out.println("你没中奖");
 }
 }
 public static boolean isLuckNumber() { //判断卡号是个输入正确
 //抽奖
  System.out.println("请输入卡号");
  Scanner scanner = new Scanner(System.in);
  int luckNumber = scanner.nextInt();
  //判断用户输入的卡号是不是 这个用户之前随机出来的那个数
  if (luckNumber==User.luckNumber) {
   System.out.println("输入正确抽奖马上运行");
   return true;
   //卡号相同可以抽奖
  }else {
   //卡号不相同 重新输入三次机会
   number++;
   if (number!=3) {
   isLuckNumber();
   }else {
   System.out.println("三次机会已用尽");
   }
   return false;
 }
 }
}

更多学习资料请关注专题《管理系统开发》。

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

(0)

相关推荐

  • APP转盘抽奖Java服务端接口详解

    应公司需求开发一个微信公众号中抽奖活动 功能:奖品及中奖概率可在后台配置,滚动刷新中奖名单,控制用户每日抽奖次数等. 规则:在活动期间,每日可抽奖一次,中奖后填写个人信息以便奖品的配送. 1.获取抽奖页面数据 /** * 获取抽奖页面数据 * @param request * @param response * @return * @throws ServletException * @throws IOException */ @RequestMapping(value="/queryLott

  • 基于Java实现抽奖系统

    本次任务要求为某商场开发一套幸运抽奖系统,客户必须首先注册成为该商场会员,会员登录成功后,就可以参加抽奖活动了. 注册 用户选择"注册"菜单,进入注册界面.输入用户名和密码后,系统提示注册成功,并给出会员卡号. 登录 注册成功后,用户选择"登录"菜单,进入登录界面.输入注册时的用户名和密码.登录成功,系统提示欢迎信息.如果用户和密码输入错误,提示用户继续输入,最多有3次机会. 抽奖 登录成功后,用户选择"抽奖"菜单,进入幸运抽奖界面.输入会员卡号

  • Java抽奖抢购算法

    本文示例为大家分享了Java抽奖抢购算法,供大家参考,具体内容如下 应用场景 单件奖品抢购(可限时) 多件奖品按概率中奖(可限时.可不限量) 代码实现 表结构: --抽奖设置 create table AWARD_INFO ( ID NUMBER(11) not null, ACT_ID NUMBER(11), --活动ID NUM NUMBER(11), --奖品总量(0为不限量) REST NUMBER(11), --奖品余量 ODDS NUMBER(11) default 0, --中奖概

  • Java抽奖算法第二例

    本文实例为大家分享了java抽奖算法,供大家参考,具体内容如下 1. 算法分析  根据概率将奖品划分区间,每个区间代表一个奖品,然后抽取随机数,反查落在那个区间上,即为所抽取的奖品. 2. 代码 核心算法 public class Arithmetic { // 放大倍数 private static final int mulriple = 1000000; public int pay(List<Prize> prizes) { int lastScope = 0; // 洗牌,打乱奖品次

  • Java实现双色球抽奖随机算法示例

    第一次写技术博客,写一下以前写的一个双色球抽奖随机算法. 原理如下: 1首先初始化一个待抽奖的数组nums,数组的长度k 2. 随机一个1-k之间的随机数,得到nums[k],这样得到第一个抽奖号,nums中剔除该号码,k--. 3. 重复步骤2,直到得到全部中奖号码 class myLuck { private int mTarget; List<Integer> mNums = new ArrayList<Integer>(); //摇奖池 ///从多少个数中产生多少个数 //

  • Java简易抽奖系统小项目

    本文实例为大家分享了Java简易抽奖系统的具体代码,供大家参考,具体内容如下 需求: 实现一个抽奖系统 1 注册 2 登录 3 抽奖 必须先注册  再登陆  再抽奖 随机产生4个随机数作为幸运卡号 用户注册后 登录的时候  用户名密码输入判断只有三次机会 需要做到  还有2次   还有1次  三次输入错误 不能再登录 产生10个随机数  将用户注册得到的随机数作为判断 代码如下: import java.util.*; public class Homeworktest { public sta

  • 简单实现java抽奖系统

    本文为大家分享了java抽奖系统的具体代码,供大家参考,具体内容如下 用户信息类 /* * 用户信息类 * 1.账号 * 2.密码 * 3.卡号 * 4.是否登录 */ public class User { public static String userName = ""; public static String passWord = ""; public static int cardNumber = 0; // 是否登录 public static bo

  • 纯java代码实现抽奖系统

    本文实例为大家分享了java实现抽奖系统 的具体代码,供大家参考,具体内容如下 模拟一个在终端登陆注册的页面 public class Cjtest { public static void main(String[] args) { String isGoOn = "n"; //循环的判断条件是否继续 do { System.out.println("*********幸运52********"); System.out.println("1.注册&qu

  • 纯Java代码实现流星划过天空

    废话不多说了,直接给大家贴java代码了. import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import javax.swing.JFrame; import javax.swing.JPanel; public class MeteorFly extends JFrame { final int MAX = ; // (~)流星的个数 final int SLEEP =

  • java实现幸运抽奖系统

    本文实例为大家分享了java实现抽奖系统的具体代码,供大家参考,具体内容如下 import java.util.Scanner; public class luckyDraw { public static void main(String[] args) { String option; String username = ""; int password = 0; int cardNumber = 0; int max = 9999; int mix = 1000; do { Sy

  • Dwr3.0纯注解(纯Java Code配置)配置与应用浅析一之零配置文件化

    //Annotation configuration dwr servletprivate void initializeDwrServlet(ServletContext container) {DwrServlet dwrServlet = new DwrServlet(); ServletRegistration.Dynamic dynamic = container.addServlet("dwr-invoker", dwrServlet ); dynamic.setLoadO

  • 基于Java代码配置MyBatis Generator

    使用MyBatis Generator生成器时,有时候没办法使用xml形式的配置文件,比如将Maven项目设置成pom打包方式(<packaging>pom</packaging>)!由于Maven的工作机制对于打包方式为pom的项目是不会输出jar包或war包和resources内容,所以放在resources目录下或放在源码目录下的xml文件就没法读取了,就算你在pom.xml文件中明确有如下配置也没有用的: <build> <resources> &l

  • JavaScript实现简单抽奖系统

    本文实例为大家分享了JavaScript实现简单抽奖系统的具体代码,供大家参考,具体内容如下 模拟实现抽奖系统 前端使用JavaScript代码实现抽奖系统,代码如下: 样式代码: <style>         body{             background: url("bg.jpg") no-repeat;             background-size: 100%;         }         #box{             positi

  • JAVA实现用户抽奖功能(附完整代码)

    需求分析 1)实现三个基本功能:登录.注册.抽奖. 2)登录:用户输入账号密码进行登录,输入账号后会匹配已注册的用户,若输入用户不存在则退出,密码有三次输入机会,登录成功后主界面会显示已登录用户的账号信息. 3)注册:用户首先输入账号名称,系统查询此名称是否存在,如存在则请求用户换一个名称,否则进入密码输入,密码要求6位数字字符串,注册成功后,系统随机分配一个与已有用户不重复的四位数字id编号. 4)抽奖:功能实现前提:需有用户处于登录状态.该前提满足时,系统从已存在用户中随机抽取5位不同的用户

  • 3分钟纯 Java 注解搭个管理系统的示例代码

    最近接触到个新项目,发现它用了一个比较有意思的框架,可以说实现了我刚入行时候的梦想,所以这里马不停蹄的和大家分享下. 在我刚开始工作接触的项目都还没做前后端分离,经常需要后端来维护页面,有时候觉得自己好像天生不适合干前端,你要是让我研究研究后端的技术,看个中间件源码啊,分析分析什么框架底层原理啊,这都问题不大,偶尔搞一下JS也可以.你要是让我写个css样式,那简直要命了,一点也提不起兴趣,不知道有没有跟我一样的. 今天要介绍的框架直接不用写页面了,话不多说,下边咱们直奔主题 Erupt一个通用后

随机推荐