首页 > 编程语言 >java----模拟幸运抽奖小案例

java----模拟幸运抽奖小案例

时间:2022-10-08 16:59:15浏览次数:48  
标签:抽奖 java Scanner int System ---- println input out

模拟幸运抽奖案例:

功能:

用户注册:注册后随机生成4位数的卡号

登录:三次机会,失败一次扣一次机会,机会为0返回主操作

幸运抽奖:注册后生成的4位数卡号与随机生成的5个4位数卡号对比,相等是幸运卡号,否则不是

package learnday5;

import java.util.Arrays;
import java.util.Scanner;
* @description:抽奖案例
public class Lucky {
  //全局变量在类中,在方法外面,static修饰
  //一个类里面很多方法可以用全局变量
  //static Scanner input = new Scanner(System.in);
  //用的最多的是参数传递
  //可以加,根据个人情况
  // 1.可以注册多个用户的信息(保存用户的信息)--->保证用户名的唯一性
  //2.登录一次(切换账号登录)
  public static void main(String[] args) {
      Scanner input = new Scanner(System.in);
      String answer;
      boolean loginFlag = false;
      boolean regFlag = false;
      do {
          System.out.print("1.注册"+"\t"+"2.登录"+"\t"+"3.抽奖");
          System.out.println();
          System.out.println("请选择:");
          int choice = input.nextInt();

          switch (choice){
              case 1:
                  //调用了注册的方法
                  regFlag = register(input);
                  break;
              case 2:
                  //调用登录的方法
                  loginFlag = login(input,regFlag);
                  break;
              case 3:
                  lucky(input,loginFlag);
                  break;
          }
          System.out.println("是否继续?y/n");
          answer = input.next();
      } while ("y".equals(answer));
      System.out.println("程序退出");
      input.close();
  }

  public static void lucky(Scanner input,boolean loginFlag) {
      //必须是登录成功之后做的
      if(!loginFlag){
          System.out.println("请先登录");
          return;
      }
      System.out.println("请录入会员卡号:");
      int cardNo = input.nextInt();

      int[] luckyNum = new int[5];
      for (int i = 0; i < 5; i++) {
          int num = (int)(Math.random() * 9000 + 1000);
          luckyNum[i] = num;
      }
      System.out.println("今日幸运卡号:"+ Arrays.toString(luckyNum));
      for (int num : luckyNum) {
          if(cardNo == num){
              System.out.println(cardNo+"是本日幸运会员");
              return;
          }
      }
      System.out.println(cardNo+"不是本日幸运会员");
  }

  //注册时候的数据/全局变量
  public static String name;
  public static String pass;

  public static boolean login(Scanner input,boolean regFlag) {
      if(!regFlag){
          System.out.println("请先注册");
          return false;
      }
      int count = 3;
      do {
          count--;
          System.out.println("登录:用户名");
          String loginName = input.next();
          System.out.println("登录:密码");
          String loginPass = input.next();
          if(loginName.equals(name)||loginPass.equals(pass)){
              break;
          }
          if(count == 0){
              System.out.println("机会使用完毕,返回主界面");
              return false;
          }
          System.out.println("用户名或密码不符,还剩下"+count+"次机会");
      } while (true);
      System.out.println("登陆成功,欢迎您"+name);
      //修改登录成功的标识
      return true;
  }

  public static boolean register(Scanner input) {
      //一个方法相使用另一个方法的变量
      //1.参数传递 2.全局变量,对所有方法都有效
      System.out.println("注册:用户名");
      name = input.next();
      System.out.println("注册:密码");
      pass = input.next();
      //随即卡号:4位数
      //Math.random()生成的随机数0.0-1.0(包头不包尾)
      int cardNo = (int)(Math.random() * 9000 + 1000);
      System.out.println("注册成功");
      System.out.println("用户名\t密码\t会员卡号");
      System.out.println(name+"\t"+pass+"\t"+cardNo);
      //修改注册表示为ture
      return true;
  }
}

标签:抽奖,java,Scanner,int,System,----,println,input,out
From: https://www.cnblogs.com/wang1999an/p/16769433.html

相关文章