抽奖系统 无连接数据库 纯java代码实现

模拟一个在终端登陆注册的页面

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;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_36390044/article/details/79751929