文档章节

自己参考别人写的一个抽奖代码

IceRainYWC
 IceRainYWC
发布于 2014/04/18 16:53
字数 198
阅读 212
收藏 1
import java.util.Random;
public class PrizeGenerator {
 public static final int MAXBASE = 10000;//基数
 public static int counter = 0;
 /**
  * @param args
  */
 public static void main(String[] args) {
  for(int i=0;i<MAXBASE;i++){
   gerneratePrize();
  }
  System.out.println(">>>>>>>>>>>>中一等奖次数:"+counter);
 }
 
 public static int randomNumber(int minNum,int maxNum){
  Random rand = new Random();
  int randomNum = rand.nextInt(maxNum);
  randomNum = randomNum%(maxNum-minNum+1)+minNum;
  return randomNum;
 }
 
 public static void gerneratePrize(){
  int[][] prizeOption = {{1,1},{2,2},{3,20},{4,77}};//{4,77}表示奖品等级是4(未中将),中奖率是77%
  int rand = randomNumber(1, MAXBASE);
  int line = 0;  
  int temp = 0;
  for ( int i = 0; i < prizeOption.length; i++) {  
        int[] prize = prizeOption[i];  
        int rate = prize[1];  
        temp = temp + rate*(MAXBASE/100);  
        line = MAXBASE - temp;  
        if (rand > line && rand <= (line + rate)) {
               if(i==1){
                counter++;
                System.err.print("抽奖随机数:"+rand);
                System.err.println("中了一等奖!");
               }else{
                System.out.println("中了"+prizeOption[i][0]+"等奖!");
               }
            break;  
        } 
  }
 }
}

不知写的有什么不对,请大家指正!

注:参考文章JS大转盘抽奖

© 著作权归作者所有

共有 人打赏支持
IceRainYWC
粉丝 13
博文 107
码字总数 48100
作品 0
石家庄
程序员
加载中

评论(1)

星神_
星神_
首先,rand<=(line+rate)貌似是个错误,没line并没有记录每一次的line,1等奖概率1,而2等奖概率就变为了3,
js幸运大转盘开发

最终效果实例下载:http://www.oschina.net/code/snippet235264454997 一.大转盘准备工作 网上的一个抽奖大转盘实例http://www.jq22.com/yanshi2252 这就是我们要开发的效果,不过我们是让指...

透笔度
2016/03/28
2.4K
2
[分享] 来,做一个问卷调查(有抽奖!)

前言 “小王,明天公司在***举办一个xxx产品发布会,你今天准备2000份问卷调查。还有,我们这次还做一个抽奖活动,也记得弄一个抽奖箱和一些抽奖球哦。” …… 活动结束了,小王想起早上捧着...

没错就是酱紫
2016/07/28
90
0
waleswood/Lottery

#WPF抽奖程序 WPF做的一个抽奖程序,终于做好了,希望我能中个大奖!! ,程序所用素材和部分代码来自网络,取之于田还之于田,虽然写的比较烂,还是开源了吧。 #技术说明 很简单的小程序,没...

waleswood
2015/02/05
0
0
软件测试之路浅谈

小李从毕业以来从事过两个多月的Oracle开发后转型了转型为转件测试,总结浅谈一下之间的心路历程,希望能给徘徊在开发和测试之前的同学一点小小参考,希望路过的测试大牛给出一些很好的指导。...

张立达
2017/05/03
0
0
【学习笔记】Android Apk反编译初识

三个重量级的工具: 1.apktool 2.dex2jar 3.jd-gui-windows 工具下载地址:http://pan.baidu.com/s/1mh4F1PY apktool版本太低的话,请到这里下载http://ibotpeaches.github.io/Apktool/ 首先...

小树coding
2016/02/01
95
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[雪峰磁针石博客]软件测试专家工具包1web测试

web测试 本章主要涉及功能测试、自动化测试(参考: 软件自动化测试初学者忠告) 、接口测试(参考:10分钟学会API测试)、跨浏览器测试、可访问性测试和可用性测试的测试工具列表。 安全测试工具...

python测试开发人工智能安全
今天
2
0
JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
2
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
0
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
1
0
OSChina 周一乱弹 —— 有人要给本汪介绍妹子啦

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享水木年华的单曲《中学时代》@小小编辑 手机党少年们想听歌,请使劲儿戳(这里) @须臾时光:夏天还在做最后的挣扎,但是晚上...

小小编辑
今天
68
8

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部