学易优
始于2008年专业教育平台
  • 地区

免费发布课程

学易优网
咨询热线:400-099-6980
学易优网
了解更多 快扫我吧

首页 > 备考指南 > 职业技能 > 正文

JAVA模拟中国福利彩票双色球中奖概率 文  /风飞扬2017年02月23日 17:150

摘要 中国福利彩票的中奖概率到底多高?下面一起用JAVA程序来模拟一下吧

彩票一个大家都熟悉的东西,我们经常会听到一个信息某某某中了几百万几千万,也许你当时还挺羡慕,心想着为什么老天就不能眷顾一下你呢!那么现实中的彩票中奖概率到底有多高呢?是否会有一天天降横财,下面我们就以双色球为例,用计算机模拟一下(非作弊模式)福彩双色球的中奖概率到底有多大。

代码:

package zj.apps.doll;

import java.util.Collection;

import java.util.Collections;

import java.util.Vector;

import eq.util.MyArray;

public class DoubleColorBall {

private static final int total = 10000000;

static final int MAX = 33;

private static final String[] RANK = "感谢购买  一等奖 二等奖 三等奖 四等奖 五等奖 六等奖".split("\\s+");

static Vector<Integer> balls = new Vector<>();

static Integer sBlueBall;

static Vector<Integer> sRedBalls = new Vector<>();

static {

for (int i = 1; i <= MAX; i++)

balls.add(i);

Collections.shuffle(balls);

sBlueBall = balls.get(0);

sRedBalls.addAll(balls.subList(1, 6));

Collections.sort(sRedBalls);

}

Integer blueBall;

Vector<Integer> redBalls = new Vector<>();

public DoubleColorBall() {

Collections.shuffle(balls);

blueBall = balls.get(0);

redBalls.addAll(balls.subList(1, 6));

Collections.sort(redBalls);

}

@Override

public String toString() {

StringBuffer buffer = new StringBuffer("");

for (Integer i : redBalls)

if (i < 10)

buffer.append(" (0" + i + ") ");

else

buffer.append(" (" + i + ") ");

if (blueBall < 10)

buffer.append("[0" + blueBall + "]");

else

buffer.append("[" + blueBall + "]");

return buffer.toString();

}

public static String getTopBouns() {

StringBuffer buffer = new StringBuffer("");

for (Integer i : sRedBalls)

if (i < 10)

buffer.append(" (0" + i + ") ");

else

buffer.append(" (" + i + ") ");

if (sBlueBall < 10)

buffer.append("[0" + sBlueBall + "]");

else

buffer.append("[" + sBlueBall + "]");

return buffer.toString();

}

 

/**

 * @param args

 */

public static void main(String[] args) {

System.out.println("双色球模拟程序(6+1)~");

System.out.println(getTopBouns());

System.out.println("--------------------------------");

int f[] = new int[7];

for (int i = 0; i < total; i++) {

DoubleColorBall my = new DoubleColorBall();

int rank=my.judge();

f[rank]++;

if(rank>=1&&rank<=4)

System.out.println(my+RANK[rank]);

}

for(int i=1;i<=7;i++)

{

int j=(i)%7;

System.out.println(RANK[j]+":"+f[j]+"次");

}

System.out.println("累计购买:"+total+"次");

}

private int judge() {

if (check(6, 1))

return 1;

else if (check(6, 0))

return 2;

else if (check(5, 1))

return 3;

else if (check(5, 0) || check(4, 1))

return 4;

else if (check(4, 0) || check(3, 1))

return 5;

else if (check(2, 1) || check(1, 1) || check(0, 1))

return 6;

else

return 0;

}

private boolean check(int rr, int bb) {

int red = 0, blue = 0;

if (blueBall.equals(sBlueBall))

blue++;

for (int i = 0; i < redBalls.size(); i++)

if (redBalls.get(i).equals(sRedBalls.get(i)))

red++;

return red == rr && blue == bb;

}

}

程序运行结果:

一等奖:0次

二等奖:0次

三等奖:2次

四等奖:108次

五等奖:3720次

六等奖:301106次

感谢购买:9695064次

累计购买:10000000次

从上面的模拟结果可以看出一千万次,一等奖和二等奖一次没出,所以说福利彩票真的是在给国家做福利,不要梦想着靠彩票发家致富了,赶紧一起来和我学学JAVA技术吧,非凡人生才JAVA开始。

更多IT类资讯请关注微信公众号:xueyeyou.

推荐阅读:

            学习IT技术自学还是培训好?

            如何成为计算机编程高手?

            JAVA"图"用法——图搜索解决成语接龙



阅读上一篇:同等学力考研必知的50个问题汇总

阅读下一篇:奥地利留学奖学金介绍


发表评论

暂无评论

推荐阅读更多>

JAVA模拟中国象棋控制台
2017年02月27日 14:01
2017年计算机就业前景分析
2017年04月05日 13:42
让艺术机构招到学生的窍门
2017年04月06日 15:31
一级建造师案例题答题五大技巧
2016年10月24日 14:28
机构品牌怎样才能让家长认可
2017年04月06日 15:54

在线投稿

亲,请先登录呦~
关于我们
关于学易优
企业理念
网站地图
联系我们
报名指南
求学登记
报名流程
帮我选课
付款方式
招生合作
机构合作
会员服务
网站加盟
广告服务
学员专享
专享礼遇
积分制度
客服中心
咨询热线
400-099-6980
周一至周日:
8:00-22:00