JAVA 超简单方法设计抽奖系统

标签: java
214人阅读 评论(0) 收藏 举报
分类:

Game.java 测试类类

import java.util.Scanner;

public class Game {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        UI.disPlay();   
        while (true) {
            int num = scanner.nextInt();
            if(Select.choce()) {
                if (num == 1) {
                    UI.sign();
                }else if (num == 2) {
                    UI.login();
                }else if (num == 3) {
                    UI.luck();
                    System.out.println("抽奖结束,选择是否继续?");
                    Select.choce();
                }
            }
                UI.disPlay();
        }
    }
}

Login.java 登陆系统类

import java.util.Scanner;

public class Login {
    static Register register = new Register();
    public static void login() {    
        Scanner scanner = new Scanner(System.in);   
        int count = 0;
        //判断是否注册
        if (register.getUsename() == null) {
            System.out.println("请先注册");
            UI.sign();
        }
        System.out.println("[抽奖系统 > 登陆]");

    while (true) {  
        System.out.println("请输入用户名:");
        String usename = scanner.nextLine();
        System.out.println("请输入密码:");
        String temNum = scanner.nextLine();
        int password = Integer.parseInt(temNum);
        //核对用户名和密码  可以只核对用户名
        if (usename.equals(register.getUsename()) && password == register.getPassword()) {
            System.out.println("欢迎您" + register.getUsename());
            break;
        }else {
            System.out.println("用户名或密码错误,请重新输入!");  
            count++;                
            if (count == 3) {
                System.out.println("对不起,三次机会已用完,请明天再来");
                System.exit(0);
            }
        }
    }

}

}

Lottery.java 抽奖系统类

import java.util.Scanner;

public class Lottery {

    public static void luckNum() {
    //判断是否注册
        Register register = new Register();
        if (register.getUsename() == null) {
            System.out.println("请先注册");
            UI.sign();
        }
        Scanner scanner = new Scanner(System.in);
        System.out.println("[抽奖系统 > 抽奖]");
        System.out.println("请输入您的卡号:");
        int luckNum = scanner.nextInt();
        // 此次可优化为循环
        int num1 = (int) (Math.random()*9000 + 1000);
        int num2 = (int) (Math.random()*9000 + 1000);
        int num3 = (int) (Math.random()*9000 + 1000);
        int num4 = (int) (Math.random()*9000 + 1000);
        int num5 = (int) (Math.random()*9000 + 1000);
        System.out.println("今日幸运数字是:" + num1 + ", " + num2 + ", " + num3 + ", " + num4 + ", " + num5 + ".");
        if ( luckNum == num1 || luckNum == num2 || luckNum == num3|| luckNum == num4 || luckNum == num5 ) {         
            System.out.println("恭喜你中奖!");
        }else {
            System.out.println("很遗憾你没有中奖,请下次再来。");

        }
    }
}

Register.java 注册信息类

public class Register {
    private static String usename;
    private static int password;
    private static int id;

    public String getUsename() {
        return usename;
    }
    public void setUsename(String usename) {
        this.usename = usename;
    }
    public int getPassword() {
        return password;
    }
    public void setPassword(int password) {
        this.password = password;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }   
}

Select.java 选择类

import java.util.Scanner;

public class Select {
    public static boolean choce() {
        System.out.println("是否继续 输入Y/N");
        Scanner scanner = new Scanner(System.in);
        String st = scanner.nextLine();
        //判断 用户输入
        if (st.equals("Y") || st.equals("y")) {
            return true;
        }else  {
            System.out.println("欢迎下次使用");
            System.exit(0);
            return false;       
        }       
    }
}

UI.java 界面类

import java.util.Scanner;

public class UI {
    static Register register = new Register();
    static Scanner scanner = new Scanner(System.in);
    //创建界面
    public static void disPlay () {
        System.out.println("*****欢迎来到抽奖系统*****");
        System.out.println("         "+"1.注册");
        System.out.println("         "+"2.登陆");
        System.out.println("         "+"3.抽奖");
        System.out.println("***********************");
        System.out.println("请选择菜单:");
    }
    public static void sign() {
        //注册
        System.out.println("[抽奖系统 > 注册]");
        System.out.println("请填写个人注册信息");
        System.out.println("用户名:");

        String usename = scanner.nextLine();
        register.setUsename(usename);
        System.out.println("密码:");
        String num = scanner.nextLine();
        int password = Integer.parseInt(num);
        register.setPassword(password);
        int cardId = (int) (Math.random()*9000 + 1000);
        register.setId(cardId);

        System.out.println("注册成功,请记住你的会员卡号");
        System.out.println("用户名:" + register.getUsename());
        System.out.println("密码:" + register.getPassword());
        System.out.println("卡号:" + register.getId());
    }
    //登陆
    public static void login() {    
        Login.login();
    }
        //抽奖
    public static void luck() {
        Lottery.luckNum();
    }
}
查看评论

抽奖系统的设计

抽奖模块设计思路管理员在后台设置奖品的中奖概率,未中奖概率 = 1-中奖概率之和。伪随机数生成函数用于生成0-1之间的随机数,参考了官方手册中mt_getrandmax示例。 http://php...
  • koastal
  • koastal
  • 2017年05月27日 15:17
  • 530

抽奖系统概率设计

首先我们看需求:我们想弄一个抽奖系统,在抽奖的时候我们希望针对不同的奖品有可以设置不同的中奖概率,还有就是我们不想一个时间马上就把所有的奖品就发送出去了,最好能是在每几名中产生一名。同时要兼顾后面的,...
  • bigtree_3721
  • bigtree_3721
  • 2017年08月19日 18:08
  • 1633

简单抽奖软件java程序设计

一.设计任务    摇奖 描述:从候选手机号码里随机选取号码显示在屏幕上作为获奖手机号。此题训练多线程操作。 描述 提示和要求: 提示和要求 ①候选号码可以保存在数组中,也可以保存在数据库中。 ②抽奖...
  • liu136313
  • liu136313
  • 2014年01月11日 18:42
  • 3706

JS实现一个简单的抽奖系统

本文主要介绍如何通过js中的setInterval()函数实现一个抽奖系统的。在该系统中,我们不光可以通过点击按钮来触发函数,还可以通过点击键盘来进行触发,这里主要涉及到js中的事件处理程序,用到了o...
  • IT2011013113
  • IT2011013113
  • 2016年06月01日 17:54
  • 1580

JavaScript写一个简易的抽奖系统

用JavaScript实现一个简单的抽奖系统,有【开始】按钮和【停止】按钮。 功能: - 点开始按钮开始抽奖,随机出现奖品名称; - 点停止按钮即可停止抽奖; - 按下回车键可切换开始抽...
  • qq_37268201
  • qq_37268201
  • 2017年04月28日 16:32
  • 551

关于系统架构,项目设计案例(一):抽奖系统概率设计

上面一篇文章说的只是一些想法,我想很多人看到了比较空洞,从这篇文章开始我会把我设计过的一些项目拿出来把我的设计的相关思路给大家作为一些参考。         其实抽奖系统的设计,我在前面的文章有说明...
  • jacky4955
  • jacky4955
  • 2013年02月18日 14:05
  • 5800

JAVA抽奖算法

最近因项目需要,设计抽奖功能,在网上学习了很多前辈的思路,但感觉跟项目需求有偏差,因此按业务逻辑重新设计了一下。          东西很Low,但好歹是个成果,希望拿出来和大家分享,也希望大家提出...
  • NickRylai
  • NickRylai
  • 2016年05月22日 14:47
  • 7132

java简单抽奖程序

数据库设计: [code="java"] /* SQLyog Ultimate v11.11 (32 bit) MySQL - 5.6.17 : Database - test ******...
  • koproblem
  • koproblem
  • 2014年05月22日 09:31
  • 1118

C# 简易图片抽奖器的实现

1.在Visual Studio 2010中,首先新建一个windows窗体项目 2.Form1.cs[设计]窗口中,从工具箱拖拽pictureBox,button1,button2,imageLis...
  • Joven0
  • Joven0
  • 2012年12月25日 14:26
  • 2118

java实现简单的抽奖游戏

参考书籍《java核心技术·卷一:基础知识》 程序目标:从给定的奖池中抽取出一系列中奖数字,每个数字只能被选取一次。程序实现如下: package LottryDrawing; import j...
  • zzq1992126
  • zzq1992126
  • 2015年03月07日 18:28
  • 1870
    个人资料
    持之以恒
    等级:
    访问量: 4471
    积分: 588
    排名: 8万+
    文章存档