Java简易抽奖系统小项目

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

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

需求:

实现一个抽奖系统

1 注册

2 登录

3 抽奖 

必须先注册  再登陆  再抽奖

随机产生4个随机数作为幸运卡号 

用户注册后 登录的时候  用户名密码输入判断只有三次机会

需要做到  还有2次   还有1次  三次输入错误 不能再登录 

产生10个随机数  将用户注册得到的随机数作为判断

代码如下:

import java.util.*;
 
public class Homeworktest {
 
 public static void main(String[] args) {
 Scanner cin=new Scanner(System.in);
 Random rand=new Random();
 int num,i,Key,j,before=0,count,len=0,L=0;
 int[] data=new int[10];
 String[][] book=new String[10][2]; //存储用户注册信息
 String ID,Temp;
 System.out.println("**********");
 System.out.println("0 退出\n1 注册\n2 登陆\n3 抽奖");
 System.out.println("**********");
 while(true){
 System.out.println("请输入Key:");
 Key=cin.nextInt();
 cin.nextLine();
 if(Key == 0){
 System.out.println("抽奖系统已退出,欢迎您再次使用!");
 break;
 }
 else if(Key == 1){
 before=0;
 System.out.println("请输入您要建立的账号:");
 ID=cin.nextLine();
 i=len++;
 book[i][0]=ID;
 while(true){
 System.out.println("请设置您的密码:");
 ID=cin.nextLine();
 book[i][1]=ID;
 System.out.println("请确认您的密码:");
 for(j=3;j>0;j--){
 ID=cin.nextLine();
 if(book[i][1].equals(ID)){
 System.out.println("恭喜您注册成功!");
 System.out.println("您的账号是:"+book[i][0]+"\n您的密码是:"
 +book[i][1]+"\n请妥善保管!");
 break;
 }
 else if(j>1)
 System.out.println("对不起,两次输入密码不符,您还有"
 +(j-1)+"次机会!请重新输入:");
 else
 System.out.println("该密码已重置!");
 }
 if(j!=0) break;
 }
 }
 else if(Key == 2){
 before=0;
 for(i=3;i>0;i--){
 System.out.println("请输入您的账号:");
 ID=cin.nextLine();
 System.out.println("请输入您的密码:");
 Temp=cin.nextLine();
 for (j = 0; j < len; j++) {
 if(ID.equals(book[j][0]) && Temp.equals(book[j][1]))
 break;
 }
 if(j==book.length){
 if(i>1)
 System.out.println("对不起,登陆失败!你还有"+(i-1)+"次机会.");
 else{
 num=0;
 for (int k = 0; k < book.length-1; k++) {
 if(num == 0 && ID.equals(book[k][0])) num=1;
 if(num == 1){
 book[k][0]=book[k+1][0];
 book[k][1]=book[k+1][1];
 }
 }
 System.out.println("账号:"+ID+"已被冻结,不能继续使用!");
 }
 }
 else{
 System.out.println("恭喜您登陆成功!");
 before=1;
 L=j;
 break;
 }
 }
 }
 else if(Key == 3){
 if(before == 1){
 for(i=0;i<data.length;i++)
 data[i]=rand.nextInt(9)+1;
 System.out.println("您的号码分别是:");
 for(i=count=0;i<4;i++){
 num=rand.nextInt(9)+1;
 System.out.print(num+" ");
 for(j=0;j<data.length;j++)
 if(data[j] == num)
 {
 count++;
 break; //可能有多个相同
 }
 }
 System.out.println("");
 System.out.println(book[L][0]+":");
 switch(count){
 case 4:System.out.println("恭喜您中特等奖!");break;
 case 3:System.out.println("恭喜您中一等奖!");break;
 case 2:System.out.println("恭喜您中二等奖!");break;
 case 1:System.out.println("恭喜您中三等奖!");break;
 default:System.out.println("很遗憾,您未中奖!");break;
 }
 }
 else
 System.out.println("对不起,您尚未登陆账号,不能参与抽奖活动!");
 }
 }
 }
}

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

相关文章

  • java项目中使用 Lombok遇到的问题小结

    java项目中使用 Lombok遇到的问题小结

    这篇文章主要介绍了java项目中使用 Lombok遇到的问题小结,需要的朋友可以参考下
    2018-07-07
  • 代码实例Java IO判断目录和文件是否存在

    代码实例Java IO判断目录和文件是否存在

    本篇文章给大家分享了Java IO判断目录和文件是否存在的代码,对此有需要的读者们可以跟着小编一起学习下。
    2018-02-02
  • IDEA整合SSM框架实现网页上显示数据

    IDEA整合SSM框架实现网页上显示数据

    最近做了个小项目,该项目包在intellij idea中实现了ssm框架的整合以及实现访问,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • maven项目编译后没有生成target/class文件问题

    maven项目编译后没有生成target/class文件问题

    文章介绍了在Maven项目中,`target/classes`目录用于存放编译后的字节码文件,如果在项目编译启动后却没有看到这个文件夹,可以通过取消勾选`javaoutputfolders`选项来解决,以便显示编译后的Java类文件
    2024-11-11
  • spring Boot 应用通过Docker 来实现构建、运行、发布流程

    spring Boot 应用通过Docker 来实现构建、运行、发布流程

    这篇文章主要介绍了spring Boot 应用通过Docker 来实现构建、运行、发布流程,图文详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • java 读取zip文件的两种方式示例详解

    java 读取zip文件的两种方式示例详解

    ZIP(压缩文件)是一种常见的文件格式,在Java中可以使用java.util.zip包提供的API来读取和处理ZIP文件,本文将介绍如何使用Java读取ZIP文件,并提供代码示例,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • 如何在Java中读取resources下的文件及资源路径

    如何在Java中读取resources下的文件及资源路径

    本文介绍了如何在Java中读取resources下的文件以及获取resource文件的路径,通过使用ClassLoader或Class的getResourceAsStream方法,可以轻松地读取resources目录下的文件,感兴趣的朋友跟随小编一起看看吧
    2023-06-06
  • Java如何使用jar命令打包

    Java如何使用jar命令打包

    把多个文件打包成一个压缩包——这个压缩包和WinZip的压缩格式是一样的,区别在于jar压缩的文件默认多一个META-INF的文件夹,该文件夹里包含一个MANIFEST.MF的文件,本文给大家介绍Java如何使用jar命令打包,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • Java中正则表达式split()特殊符号使用详解

    Java中正则表达式split()特殊符号使用详解

    这篇文章主要介绍了Java中正则表达式split()特殊符号使用详解, 文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Nacos配合SpringBoot实现动态线程池的基本步骤

    Nacos配合SpringBoot实现动态线程池的基本步骤

    使用Nacos配合Spring Boot实现动态线程池,可以让你的应用动态地调整线程池参数而无需重启,这对于需要高度可配置且需要适应不同负载情况的应用来说非常有用,本文给大家介绍实现动态线程池的基本步骤,需要的朋友可以参考下
    2024-02-02

最新评论