纯java代码实现抽奖系统
人气:0模拟一个在终端登陆注册的页面
public class Cjtest { public static void main(String[] args) { String isGoOn = "n"; //循环的判断条件是否继续 do { System.out.println("*********幸运52********"); System.out.println("1.注册"); System.out.println("2.登录"); System.out.println("3.幸运大抽奖"); System.out.println("***********************"); System.out.println("请选择菜单"); //接收用户选择的菜单 Scanner scanner = new Scanner(System.in); String meunNum = scanner.nextLine(); //根据用户的选择 来执行对应功能 meunChoose(meunNum); System.out.println("是否继续---输入y/n"); //接收判断循环条件 isGoOn = scanner.nextLine(); } while (isGoOn.equals("y")); //循环结束提示 System.out.println("欢迎下次使用"); } //选择对应的方法 public static void meunChoose(String meunNum) { switch (meunNum) { case "1": System.out.println("抽奖系统----注册"); //调用 注册的方法 Register.register(); case "2": System.out.println("抽奖系统----登录"); //调用登录的方法 User.isLogin=Login.login(); break; case "3": System.out.println("抽奖系统----幸运抽奖"); LuckDraw.lukcDraw(); break; default: System.out.println("输入错误请重新输入"); break; } } }
不连接数据库所以模拟一个注册时用户信息所存放的位置
public class User { //用户名 public static String userName = ""; //密码 public static String passWord = ""; //幸运数字 public static int luckNumber = 0; //用户的登录状态 public static boolean isLogin = false; }
注册功能实现
public class Register { public static void register() { System.out.println("请注册用户的个人信息"); Scanner scanner = new Scanner(System.in); System.out.println("用户名"); //接收用户名 放在用户信息中 User.userName = scanner.nextLine(); System.out.println("密码"); //接收到用户信息中 User.passWord = scanner.nextLine(); //随机一个四位的1000-2000的数 保存到用户中。 User.luckNumber = (int)(Math.random()*(2000-1000+1)+1000); //显示用户的注册信息 System.out.println("用户名"+User.userName); System.out.println("密码"+User.passWord); System.out.println("幸运数字"+User.luckNumber); //scanner.close();标记:注意scanner 只能关闭一次 关闭后在本程序执行中 在创建也不能接收键盘信息了 } }
登陆
public class Login { static int number = 0;//控制循环输入密码三次 public static boolean login() { 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("登陆成功"); //返回一个登录状态 return true; }else { //登录失败 有重新登录三次机会。 number++; System.out.println("你还有"+(3-number)+"次机会"); if (number !=3) { //还有登陆的机会 login(); }else { //三次机会已用 登录失败 System.out.println("三次机会已用完 登录失败"); } //写返回值的时候要保证每一个分支都要有返回值 return false; } } }
抽奖系统逻辑
public class LuckDraw { //记录输入卡号注册 static int number = 0; public static void lukcDraw() { //是否注册 没注册不能抽 if(User.userName.length() ==0 ) { //没注册 下面都不执行 System.out.println("你没注册"); return; } //是否登录 没登录不让抽 if(!User.isLogin) { System.out.println("你没登录"); return; } //如果卡号没输对 也不让抽奖 直接return if (!isLuckNumber()) { System.out.println("卡号不对!不能登录"); return; } //真的 可以抽奖了 //定义一个 变量保存中奖的结果 boolean isLucky = false; //随机五个数 打印出结果 并判断是否匹配幸运号码 //定义一个变量 来保存累加的字符串 String s = "本次幸运的数"; for (int i = 0; i < 5; i++) { int num = (int) (Math.random() * (2000-1000+1) + 1000); //拼接要打印的字符串 if(i<5) { s = s + num+","; }else { s = s+num; } //判断是否中奖 if(User.luckNumber==num); //中奖 isLucky = true; } //打印幸运数字 System.out.println(s); if (isLucky) { System.out.println("你中奖了"); }else { System.out.println("你没中奖"); } } public static boolean isLuckNumber() { //判断卡号是个输入正确 //抽奖 System.out.println("请输入卡号"); Scanner scanner = new Scanner(System.in); int luckNumber = scanner.nextInt(); //判断用户输入的卡号是不是 这个用户之前随机出来的那个数 if (luckNumber==User.luckNumber) { System.out.println("输入正确抽奖马上运行"); return true; //卡号相同可以抽奖 }else { //卡号不相同 重新输入三次机会 number++; if (number!=3) { isLuckNumber(); }else { System.out.println("三次机会已用尽"); } return false; } } }
更多学习资料请关注专题《管理系统开发》。
您可能感兴趣的文章:
加载全部内容