抽奖系统

1.用户
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; //判断是否注册
}

2.注册
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;
  }

}

3.登陆
public class Login {
// 保存登录失败的次数
static int num = 0;

  // 登录方法
  // 静态方法里面 需要使用静态的成员变量
   public static boolean userLogin() {
   // 先判断是否注册过
   if (User.isRegister == false) {
    System.out.println("请先注册");
    Register.userRegister(); //调用注册方法
    // 登录失败
    return false;
   }
   
   //成功后 接收信息
   Scanner scanner = new Scanner(System.in);
   System.out.println("用户名:");
   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;
   }
  }

}

4.抽奖
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;
   }
  }

}
5.开始抽奖
public class CJStart {
public static void main(String[] args) {

   // 是否继续主菜单
   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();
    switch (menuNum) {
	   case "1":
	    System.out.println("java互动抽奖系统 ——> 注册");
	    System.out.println("请填写个人注册信息:");
	    // 调用注册方法
	    Register.userRegister();
	    break;
	   case "2":
	    System.out.println("java互动抽奖系统 ——> 登录");
	    // 调用登录方法 保存登录状态
	    boolean userLogin = Login.userLogin();
	    User.isLogin = userLogin;
	    break;
	   case "3":
	    System.out.println("java互动奖系统 ——> 抽奖");
	    // 调用抽奖方法
	    CJ.userCJ();
	    break;
	   default:
	    System.out.println("输入错误,请重新选择");
	    break;
	   }
    // 接收是否继续
    System.out.println("是否继续选择? y/n");
    isGoOn = scanner.nextLine();
   } while (isGoOn.equals("y"));
   
  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值