本文为大家分享了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. java 抽奖_简单实现java抽奖系统

    导读热词 本文为大家分享了java抽奖系统的具体代码,供大家参考,具体内容如下 用户信息类 /* * 用户信息类 * 1.账号 * 2.密码 * 3.卡号 * 4.是否登录 */ public cla ...

  2. java抽奖_简单实现java抽奖系统

    本文为大家分享了java抽奖系统的具体代码,供大家参考,具体内容如下 用户信息类 /* * 用户信息类 * 1.账号 * 2.密码 * 3.卡号 * 4.是否登录 */ public class Us ...

  3. java ssh客户端_简单的Java SSH客户端

    java ssh客户端 可以使用jcabi-ssh在Java中通过几行代码通过SSH执行shell命令: String hello = new Shell.Plain(new SSH("ss ...

  4. java 静态块初始化_简单了解java中静态初始化块的执行顺序

    这篇文章主要介绍了简单了解java中静态初始化块的执行顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在java中,其应该是先于所有的方法执行. ...

  5. java mapreduce程序_简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行...

    [TOC] 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行 程序源码 import java.io.IOException; import java.util. ...

  6. java event事件_简单的Java Event-事件框架

    自己写的一个简单的Java事件框架.目前具备以下功能: 1.通过继承Event类,用户可自定义事件. 2.通过EventService 的fireEvent(Event e) 发出一个事件. 3.通过 ...

  7. java ear包_简单介绍Java 的JAR包、EAR包、WAR包区别

    原标题:简单介绍Java 的JAR包.EAR包.WAR包区别 WAR包 WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.War专 ...

  8. java for 死循环_简单的java死循环 java中的死循环问题

    java中死循环是什么意思 循环一次不再循环是死循环java中死循环是什么意思 循环一次不再循环是死循环 还是不断循环才是死JAVA中死循环的意思是,不停地循环,不会终止,例如: for (int i ...

  9. Java权限降级_简单值控制权限系统的改进

    需求变更--使权限控制值能动态调整 上一讲中简单权限系统的权限控制值是写在XML配置文件中的,如果需要调整这些值还需要修改配置文件,对于Web系统来说,此后还需要重新打包,测试和发布.这样无法实现动态 ...

最新文章

  1. Oracle监听配置
  2. (NFS)mount.nfs: access denied by server while mounting localhost:/home/xuwq/minilinux/system
  3. 阿里云 EMAS HTTPDNS 联合函数计算重磅推出 SDNS 服务,三大能力获得突破
  4. mysql 定期删除表中无用数据
  5. a - 数据结构实验之串一:kmp简单应用_数据结构(C语言版)_笔记_3
  6. x86汇编语言复习笔记
  7. go语言 liteIDE 错误: 进程无法启动.
  8. FFmpeg[14] - ffbuild/common.mak:173: *** missing separator. Stop.
  9. 轻松了解,顶级域名,二级域名,三级域名
  10. WinNTSetup安装Windows10 wim格式文件的使用教程
  11. Android中Gson使用,flutter调用原生sdk
  12. 批量修改UWP版bilibili下载的视频文件名
  13. BZOJ5287 HNOI2018毒瘤
  14. keil编译后报错Error:L6218E的解决方法
  15. SV绿皮书笔记(四)
  16. POJ3278抓牛Catch That Cow
  17. java 生成word目录_java代码生成word目录
  18. neo4j配置远程连接
  19. 如何查看本机Mac地址
  20. Android中添加驱动的方法

热门文章

  1. 详细讲解Java并发编程
  2. 图像视频的常用概念HDR/WDR等
  3. 【每日收藏】资深开发者的开发工具
  4. 华为 虚拟化安装部署步骤
  5. 整除判断游戏能显著提高小朋友的逻辑思维能力,问题要求如下:• 能同时被 3、5、7 整除• 能同时被 3、5 整除• 能同时被 3、7 整除• 能同时被 5、7 整除• 只能被 3、5、7
  6. 使用umi快速搭建项目以及如何在umi中使用dva进行状态管理
  7. 贾俊平统计学思维导图- 第三章 数据的图表展示
  8. 机器学习与大数据基础知识(二)
  9. 分享一个日文图片文字识别在线的方法
  10. 【分享】5S管理专员测试试题