Java实现多用户注册登录的幸运抽奖

本文实例为大家分享了Java实现简单幸运抽奖的具体代码,供大家参考,具体内容如下

代码模块:

User类:

package test1;

public class User {
 private String userName;
 private String password;
 private int vipID;

 public User(String userName,String password,int vipID) {
 this.userName = userName;
 this.password = password;
 this.vipID = vipID;
 }

 public String getUserName() {
 return userName;
 }
 public void setUserName(String userName) {
 this.userName = userName;
 }
 public String getPassword() {
 return password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
 public int getVipID() {
 return vipID;
 }
 public void setVipID(int vipID) {
 this.vipID = vipID;
 }
}

main函数:

package test1;

import java.util.ArrayList;
import java.util.Random;

import java.util.Scanner;

public class TestUser {

 private static Scanner in;
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 ArrayList<User> user = new ArrayList<User>();
 User u = null;
 String conf = null;
 String userName = null;
 String userPassword = null;
 String n;
 boolean flag = false;
 boolean flag0 = false;
 int[][] a = new int[2][5];
 in = new Scanner(System.in);
 for(int i=0;i<2;i++) {
  for(int j=0;j<5;j++) {
  Random rand = new Random();
  a[i][j] = rand .nextInt(9999) + 1000;
  }
 }
 do {

  System.out.println("****************欢迎进入奖客富翁系统*******************");
  System.out.println("                                 1、注册");
  System.out.println("                                 2、登录");
  System.out.println("                                 3、抽奖");
  System.out.println("*******************************************************");

  System.out.print("请选择菜单:"); 

   n = in.next();

  switch(n) {
   //用户注册
   case "1": {
   userName = null;
   userPassword = null;
   System.out.println("(奖客富翁系统 >注册):");
   System.out.print("用户名:");
   String name = in.next();
   System.out.print("密 码:");
   String password = in.next();
   System.out.print("确认密码:");
   String rePassword = in.next();
   if(password.equals(rePassword)) {
    Random rand = new Random();
    int randNumber = rand .nextInt(9000) + 1000;
    u = new User(name,password,randNumber);
    user.add(u);
    System.out.println("注册成功,请记住您的会员卡号:");
    System.out.println("用户名        密码       会员卡号");
    System.out.println(u.getUserName()+"      "+u.getPassword()+"      "+u.getVipID());
   }
   else {
    System.out.println("对不起,您输入的密码不一致!");
   }

   System.out.print("\n继续吗?y/n:");

   String confirm = null;
   boolean fir = false;
   while(fir == false) {
    confirm = in.next();
    if(confirm.equals("Y")||confirm.equals("y")||confirm.equals("N")||confirm.equals("n")) {
    fir = true;
    break;
    }
    else {
    System.out.print("您的输入为非法输入,请重新输入:");
    fir = false;
    }
   }

   conf = confirm;
   if(conf.equals("n")||conf.equals("N")) {
    System.out.println("系统退出,谢谢使用!");
   }
   }
   break;
   //用户登录
   case "2": {
   String eName = null;
   String ePassword = null;
   userName = null;
   userPassword = null;
   boolean fla = false;
   int eVipID = 0;
   System.out.println("(奖客富翁系统 >登录):");
   while(fla == false){
    System.out.print("用户名:");
    userName = in.next();
    System.out.print("密 码:");
    userPassword = in.next();
    if(user.isEmpty()) {
    System.out.println("您还没有注册,请先注册!");
    flag0 = true;
    fla = true;
    }else {
    for(User e: user) {
     if(userName.equals(e.getUserName())) {
     if(userName.equals(e.getUserName())&&userPassword.equals(e.getPassword())) { 

      eName = e.getUserName();
      ePassword = e.getPassword();
      eVipID = e.getVipID();
      fla = true;
      System.out.println("欢迎您:"+eName);

     }else {
      System.out.println("您输入的账号或密码有误,请重新输入:");
     }
     flag0 = true;
     break;
     }

    }

    if(flag0 == false) {
     System.out.println("您还没有注册,请先注册!");
    }

    }

   }

   if(flag0 == true) {

    System.out.print("继续吗?y/n:");
    String confirm = in.next();
    conf = confirm;
    if(conf.equals("Y")||conf.equals("y")) {
    u= new User(eName,ePassword,eVipID);
    }
    else if(conf.equals("n")||conf.equals("N")) {
    System.out.println("系统退出,谢谢使用!");
    }
   }else {
    String confirm = null;
    boolean fir = false;
    while(fir == false) {
    confirm = in.next();
    if(confirm.equals("Y")||confirm.equals("y")||confirm.equals("N")||confirm.equals("n")) {
     fir = true;
     break;
    }
    else {
     System.out.print("您的输入为非法输入,请重新输入:");
    }
    }
    conf = confirm;
    if(conf.equals("n")||conf.equals("N")) {
    System.out.println("系统退出,谢谢使用!");
    }
   }

   }
   break;
   //抽奖
   case "3": {
   System.out.println("(奖客富翁系统 >抽奖):");

   if(u == null||(userName==null&&userPassword==null)){
    System.out.println("您还没有登录,请重新登录!");
    System.out.print("继续吗?y/n:");
    String confirm = null;
    boolean fir = false;
    while(fir == false) {
    confirm = in.next();
    if(confirm.equals("Y")||confirm.equals("y")||confirm.equals("N")||confirm.equals("n")) {
     fir = true;
     break;
    }
    else {
     System.out.print("您的输入为非法输入,请重新输入:");
     fir = false;
    }
    }
    conf = confirm;
    if(conf.equals("n")||conf.equals("N"))
    System.out.println("系统退出,谢谢使用!");
   }

   else{
    System.out.println("欢迎"+u.getUserName()+"来到幸运抽奖!");
    System.out.println("您的会员卡号为:"+u.getVipID());
    for(int i=0;i<2;i++) {
    for(int j=0;j<5;j++) {
     System.out.print(a[i][j]+" ");
     if(u.getVipID() == a[i][j]) {
     flag = true;
     break;
     }else {
     flag=false;
     }
    }
    if(flag == true)
     break;
    }
    if(flag == true) {
    System.out.println("\n恭喜你成为本日的幸运会员!");
    }
    else {
    System.out.println("\n抱歉,您不是本日的幸运会员!");
    }
    System.out.print("继续吗?y/n:");
    String confirm = null;
    boolean fir = false;
    while(fir == false) {
    confirm = in.next();
    if(confirm.equals("Y")||confirm.equals("y")||confirm.equals("N")||confirm.equals("n")) {
     fir = true;
     break;
    }
    else {
     System.out.print("您的输入为非法输入,请重新输入:");
     fir = false;
    }
    }
    conf = confirm;
    if(conf.equals("n")||conf.equals("N"))
    System.out.println("系统退出,谢谢使用!");
   }

   break;
   }

   default:{
   System.out.println("您的输入为非法输入,请重新输入:");
   System.out.print("继续吗?y/n:");
   String confirm = null;
   boolean fir = false;
   while(fir == false) {
    confirm = in.next();
    if(confirm.equals("Y")||confirm.equals("y")||confirm.equals("N")||confirm.equals("n")) {
    fir = true;
    break;
    }
    else {
    System.out.print("您的输入为非法输入,请重新输入:");
    fir = false;
    }
   }
   conf = confirm;
   if(conf.equals("n")||conf.equals("N"))
    System.out.println("系统退出,谢谢使用!");
   break;

   }
  }

 }while((conf.equals("Y")||conf.equals("y"))&&(!(n.equals("1"))||!(n.equals("2"))||!(n.equals("3"))));
 }
}

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

(0)

相关推荐

  • JAVA使用随机数实现概率抽奖

    本文实例为大家分享了JAVA使用随机数实现概率抽奖的具体代码,供大家参考,具体内容如下 需求 网站现有一抽奖功能,已经定义好奖品,每个奖品都有对应的中奖概率.通过奖品概率随机进行抽奖 实现思路 1.每个奖品都有对应的中奖概率,先对所有奖品中奖概率求和 2.计算出每个奖品在0-1之间所占的区间块 3.随机产生0-1之间的随机数,随机数落在哪个区间,就是中奖哪个 例如现有以下奖品: 奖品A 中奖概率为 0.1 奖品B 中奖概率为 0.01 奖品C 中奖概率为 0.001 奖品D 中奖概率为 0.8

  • 简单实现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实现抽奖概率类的具体代码,供大家参考,具体内容如下 在一些项目需求中,可能会遇到抽奖问题,如提供一系列奖品及获奖概率,要求根据概率返回每次抽到的奖品.以下是本人在实际项目中写的一个抽奖工具类,与大家共同分享: import java.util.ArrayList; import java.util.List; import java.util.Random; /** * 抽奖工具类,概率和可以不等于1 * 概率为百分数去掉百分号的部分,如10%,则为10 * 抽奖操作

  • java实现砸金蛋抽奖功能

    本文实例为大家分享了java实现砸金蛋抽奖的具体代码,供大家参考,具体内容如下 代码如下 需求:用户每一次砸金蛋,抽中一等奖的概率为2% 二等奖10% 三等奖18% 四等奖70%. 累计砸第n次时必抽中x等奖以上的奖品.比如,累计砸第5次,则此次必中二等奖及以上的奖品.且配置的此次必中中奖概率不一样. /** * 金蛋抽奖 * userId : 抽奖用户ID * consumeType : 抽奖消耗的物品 1:金币 2:次数 */ @Override public Map<String, Obj

  • Java抽奖算法第二例

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

  • Java实现简单抽奖功能界面

    本文实例为大家分享了Java实现简单抽奖功能的具体代码,供大家参考,具体内容如下 要求:定义文本框添加姓名,将姓名存储并且在界面中可见,点击抽奖按钮进行抽奖并输出最后的中奖得主. 关于抽奖当然需要用到随机数的生成函数,在Java中Random 的使用合适比较简单的: 有两种不同的Random方法的使用,其中一种是Math中的random. 该方法生成的是0-1之间的浮点数,如果要生成整数类型的数字,可以乘一个整数,强制转换为整数类型. int n = (int)(Math.random()*x)

  • 基于Java实现抽奖系统

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

  • Java实现游戏抽奖算法

    常用抽奖算法对比 基础的游戏抽奖算法通常要求实现在指定奖品的集合中,每个奖品根据对对应概率进行抽取.个人了解的主要有以下几中抽奖算法: 随机数一一对应 算法思想 这种算法思想最为简单.将n个奖品编号0 - N-1,其中各类奖品的概率通过其数量体现,最后程序产生0~n-1之间的随机数便是抽中的奖品编号.例如: 苹果手机概率1%,网站会员20%,折扣券20%,很遗憾59%.这样,编号0是苹果手机,1-20是会员,21-40是折扣券,41~100是 很遗憾.产生的随机数落在那个区间,就代表那个奖品被抽

  • 纯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实现抽奖功能的具体代码,供大家参考,具体内容如下 1 概述 项目开发中经常会有抽奖这样的营销活动的需求,例如:积分大转盘.刮刮乐.老虎机等等多种形式,其实后台的实现方法是一样的,本文介绍一种常用的抽奖实现方法. 整个抽奖过程包括以下几个方面: 奖品 奖品池 抽奖算法 奖品限制 奖品发放 2 奖品 奖品包括奖品.奖品概率和限制.奖品记录. 奖品表: CREATE TABLE `points_luck_draw_prize` ( `id` bigint(20) NOT N

随机推荐