基于Java实现抽奖系统

 更新时间:2021年09月17日 11:05:17   作者:冷漠F  
这篇文章主要为大家详细介绍了基于Java实现抽奖系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本次任务要求为某商场开发一套幸运抽奖系统,客户必须首先注册成为该商场会员,会员登录成功后,就可以参加抽奖活动了。

注册

用户选择“注册”菜单,进入注册界面。输入用户名和密码后,系统提示注册成功,并给出会员卡号。

登录

注册成功后,用户选择“登录”菜单,进入登录界面。输入注册时的用户名和密码。登录成功,系统提示欢迎信息。如果用户和密码输入错误,提示用户继续输入,最多有3次机会。

抽奖

登录成功后,用户选择“抽奖”菜单,进入幸运抽奖界面。输入会员卡号,系统生成5个4位随机数作为幸运数字。如果会员卡号是其中之一,则成为本日幸运会员。

源代码

package cn.jbit.dlc1;

import java.util.Scanner;

public class LuckyNumber5 {

 /**
  * 幸运抽奖
  */
 public static void main(String[] args) {
  String answer = "y"; // 标识是否继续
  String userName = ""; // 用户名
  String password = ""; // 密码
  int cardNumber = 0; // 卡号
  boolean isRegister = false; // 标识是否注册
  boolean isLogin = false; // 标识是否登录
  int max = 9999;
  int min = 1000;
  Scanner input = new Scanner(System.in);

  do {
   System.out.println("*****欢迎进入奖客富翁系统*****");
   System.out.println("\t1.注册");
   System.out.println("\t2.登录");
   System.out.println("\t3.抽奖");
   System.out.println("***************************");
   System.out.print("请选择菜单:");
   int choice = input.nextInt();
   switch (choice) {
   case 1:
    System.out.println("[奖客富翁系统 > 注册]");
    System.out.println("请填写个人注册信息:");
    System.out.print("用户名:");
    userName = input.next();
    System.out.print("密码:");
    password = input.next();
    // 获取4位随机数作为卡号
    cardNumber = (int)(Math.random()*(max-min))+min;
    System.out.println("\n注册成功,请记好您的会员卡号");
    System.out.println("用户名\t密码\t会员卡号");
    System.out.println(userName + "\t" + password + "\t" + cardNumber);
    isRegister = true; // 注册成功,标志位设置为true
    break;
   case 2:
    System.out.println("[奖客富翁系统 > 登录]");
    if (isRegister) { // 判断是否注册
     // 3次输入机会
     for (int i = 1; i <= 3; i++) {
      System.out.print("请输入用户名:");
      String inputName = input.next();
      System.out.print("请输入密码:");
      String inputPassword = input.next();
      if (userName.equals(inputName) && password.equals(inputPassword)) {
       System.out.println("\n欢迎您:" + userName);
       isLogin = true; // 登录成功,标志位设置为true
       break;
      } else if (i < 3) {
       System.out.println("用户名或密码错误,还有" + (3 - i) + "次机会!");
      } else {
       System.out.println("您3次均输入错误!");
      }
     }
    } else {
     System.out.println("请先注册,再登录!");
    }
    break;
   case 3:
    System.out.println("[奖客富翁系统 > 抽奖]");
    if (!isLogin) { // 判断是否登录
     System.out.println("请先登录,再抽奖!");
     System.out.println("继续吗?(y/n)");
     answer = input.next();
    } else {
     //生成5个4位随机数字,并保存在数组中
     int[] luckynums = new int[5];
     for(int i = 0; i < luckynums.length; i++){
      luckynums[i] = (int)(Math.random()*(max-min))+min;
     }
     System.out.print("请输入您的卡号:");
     int yourcard = input.nextInt();
     int i;
     System.out.print("\n本日的幸运数字为:");
     for (i = 0; i < luckynums.length; i++) {
      System.out.print(luckynums[i] + " ");
     }
     for (i = 0; i < luckynums.length; i++) {
      if (luckynums[i] == yourcard) {
       System.out.println("\n恭喜!您是本日的幸运会员!");
       break;
      }
     }
     if (i == luckynums.length) {
      System.out.println("\n抱歉!您不是本日的幸运会员!");
     }
    }
    break;
   default:
    System.out.println("[您的输入有误!]");
    break;
   }
   System.out.print("继续吗?(y/n):");
   answer = input.next();
   System.out.println("");
  } while ("y".equals(answer));
  if ("n".equals(answer)) {
   System.out.println("系统退出,谢谢使用!");
  }
 }
}

只是一个基本的小的架构,还有许多可以完善的地方,希望对您有一定的帮助。

想要学习更多关于抽奖功能的实现,请参考此专题:抽奖功能

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

相关文章

  • Shiro的运行大致流程详解

    Shiro的运行大致流程详解

    这篇文章主要介绍了Shiro的运行大致流程详解,Shiro和SpringSecurity都是Java领域中常用的安全框架,它们都提供了身份认证和授权功能,可以帮助开发者快速构建安全的应用程序,需要的朋友可以参考下
    2023-07-07
  • SpringBoot thymeleaf的使用方法解析

    SpringBoot thymeleaf的使用方法解析

    这篇文章主要介绍了SpringBoot thymeleaf的使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Spring Boot实现分布式任务调度的步骤

    Spring Boot实现分布式任务调度的步骤

    Spring Boot提供了一些工具和框架,可以帮助我们轻松地实现分布式任务调度,在本文中我们将介绍如何使用Spring Boot、Spring Cloud、Quartz和Redis来实现分布式任务调度,感兴趣的朋友跟随小编一起看看吧
    2023-06-06
  • MybatisPlus开启、关闭二级缓存方法

    MybatisPlus开启、关闭二级缓存方法

    本文主要介绍了MybatisPlus开启、关闭二级缓存方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Java使用嵌套循环模拟ATM机取款业务操作示例

    Java使用嵌套循环模拟ATM机取款业务操作示例

    这篇文章主要介绍了Java使用嵌套循环模拟ATM机取款业务操作,结合实例形式分析了Java模拟ATM机取款业务操作的相关流程控制、数值判断等操作技巧,需要的朋友可以参考下
    2019-11-11
  • Java中获取泛型类型信息的方法

    Java中获取泛型类型信息的方法

    本文主要介绍了Java中获取泛型类型信息的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Java封装数组实现在数组中查询元素和修改元素操作示例

    Java封装数组实现在数组中查询元素和修改元素操作示例

    这篇文章主要介绍了Java封装数组实现在数组中查询元素和修改元素操作,结合实例形式分析了java针对数组元素查询、修改的封装操作实现技巧,需要的朋友可以参考下
    2020-03-03
  • Java利用iTextPDF库实现制作PDF表格模板并填充数据

    Java利用iTextPDF库实现制作PDF表格模板并填充数据

    这篇文章主要为大家详细介绍了如何通过Java的iTextPDF库制作一个PDF表格模板并填充数据,文中的示例代码讲解详细,感兴趣的小伙伴快跟随小编一起学习一下吧
    2023-12-12
  • Jmeter安装及配置教程详解

    Jmeter安装及配置教程详解

    很多朋友私信小编Jmeter安装及配置教程能出一期教程吗?正巧赶上疫情,不是太忙,下面小编把Jmeter安装及配置教程分享到脚本之家平台,感兴趣的朋友跟随小编一起看看吧
    2021-12-12
  • Java中Scanner使用方式:单行/多行输入

    Java中Scanner使用方式:单行/多行输入

    这篇文章主要介绍了Java中Scanner使用方式:单行/多行输入,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05

最新评论