java根据概率生成数字
- /**
- * JAVA 返回随机数,并根据概率、比率
- * @author zhanglei
- *
- */
- public class MathRandom
- {
- /**
- * 0出现的概率为%50
- */
- public static double rate0 = 0.50;
- /**
- * 1出现的概率为%20
- */
- public static double rate1 = 0.20;
- /**
- * 2出现的概率为%15
- */
- public static double rate2 = 0.15;
- /**
- * 3出现的概率为%10
- */
- public static double rate3 = 0.10;
- /**
- * 4出现的概率为%4
- */
- public static double rate4 = 0.04;
- /**
- * 5出现的概率为%1
- */
- public static double rate5 = 0.01;
- /**
- * Math.random()产生一个double型的随机数,判断一下
- * 例如0出现的概率为%50,则介于0到0.50中间的返回0
- * @return int
- *
- */
- private int PercentageRandom()
- {
- double randomNumber;
- randomNumber = Math.random();
- && randomNumber <= rate0)
- {
- ;
- }
- else if (randomNumber >
rate0 && randomNumber <= rate0 + rate1) - {
- ;
- }
- else if (randomNumber >= rate0 + rate1
- && randomNumber <= rate0 + rate1 + rate2)
- {
- ;
- }
- else if (randomNumber >= rate0 + rate1 + rate2
- && randomNumber <= rate0 + rate1 + rate2 + rate3)
- {
- ;
- }
- else if (randomNumber >= rate0 + rate1 + rate2 + rate3
- && randomNumber <= rate0 + rate1 + rate2 + rate3 + rate4)
- {
- ;
- }
- else if (randomNumber >= rate0 + rate1 + rate2 + rate3 + rate4
- && randomNumber <= rate0 + rate1 + rate2 + rate3 + rate4
- + rate5)
- {
- ;
- }
- ;
- }
- /**
- * 测试主程序
- * @param agrs
- */
- public static void main(String[] agrs)
- {
- ;
- MathRandom a = new MathRandom();
- ; i <= 100; i++)//打印100个测试概率的准确性
- {
- System.out.println(a.PercentageRandom());
- }
- }
- }
java根据概率生成数字的更多相关文章
- JAVA JDK keytool 生成数字证书
简介: 数字证书作为网络安全数据传输的凭证,web在传输时客户端(浏览器)和 服务端(服务器)先进行会话握手,在握手过程中服务端会验证客户端的是否已经在服务端做了认证,这是单向认证.如果是双向认证的话 ...
- [CareerCup] 17.11 Rand7 and Rand5 随机生成数字
17.11 Implement a method rand7() given rand5(). That is, given a method that generates a random numb ...
- 通过java来批量生成身份证号
通过java来批量生成身份证号,方便来测试程序. package com.diyvc.controller.user; import java.util.Calendar; import java.u ...
- 67. 总结篇:面试中随机数"等概率"vs"不等概率"生成问题[random generator with equal or unequal probability]
[本文链接] http://www.cnblogs.com/hellogiser/p/random-generator-with-equal-or-unequal-probability.html 1 ...
- JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)
1.命令行方式 dos命令行,常见的命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd:删除目录 cd:进入指定目录 cd..:退回到上一级目录 cd/:退回到根目录 del:删除文 ...
- 利用Java随机,生成随机学生数据
为模拟向数据库中大量插入学生数据(注:此处应该用PreparedStatement.batchUpdate等批处理提高效率)的情形,通过Java随机来生成学生数据. 一.要生成的学生数据 studen ...
- JDK 生成数字证书
JDK(keytool.exe)生成数字证书 2010-11-21 15:52 QUOTE: keytool JAVA是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数 ...
- java模拟验证码生成
设计思想 第一步:随机生成字符串 第二步:用户输入字符串 第三步:将两个字符串转化为同一类型 第四步:比较是否相同 第五步:输出结果 程序流程图 程序源代码 /*2017/10/7 王翌淞 验证码模拟 ...
- java选做猜数字
程序设计思想 第一步:使用随机数生成1-100的数字 第二步:让用户输入数字 第三步:输入的数字与生成数字不同执行下一步,相同执行第五步 第四步:比较两数大小并输出结果,并返回第二步 第五步:输出猜对 ...
随机推荐
- jquery 中toggle的2种用法
一.在元素的click事件中绑定两个或两个以上的函数 toggle不像bind需要在后面添加"click"来绑定click触发事件,toggle本身就是click触发的(而且只能 ...
- glusterfs 4.0.1 rpc 分析笔记1
Jimmy的文档:Glusterfs的rpc模块分析 第一节.rpc服务器端实现原理及代码分析 第二节.rpc客户端实现原理及代码分析 第三节.rpc通信过程分析 经过阅读源码对比之前提及的文档,我个 ...
- curl支持HTTP和https
设计流程 基于curl工具实现https/http,设计初步流程为:linux平台验证→→交叉移植arm板. linux系统下调试http和https 1.1 Linux安装curl 输入命令:sud ...
- SQL Server 2008 维护计划实现数据库备份(最佳实践)
一.背景 之前写过一篇关于备份的文章:SQL Server 维护计划实现数据库备份,上面文章使用完整备份和差异备份基本上能解决数据库备份的问题,但是为了保障数据更加安全,我们需要再次完善我们的备份计划 ...
- openlayers3设置zoom不变
设置maxZoom和minZoom一致,并去掉resolutions
- Intellij IDEA自动编译问题
对IDEA的界面很有爱,但是感到他的项目启动速度太慢了.所以查了资料做了优化. 1:开启自动测试 File->setting->compiler 勾选上上面的, 2修改run/de ...
- print语句中逗号(,)和反斜杠(\)的区别
逗号结尾: 禁止输出换行反斜杠结尾:强制输出换行 >>> print ('A','B') #用一个逗号结尾就可以禁止输出换行 A B >>> print ('A ...
- 剑指架构师系列-MySQL调优
介绍MySQL的调优手段,主要包括慢日志查询分析与Explain查询分析SQL执行计划 1.MySQL优化 1.慢日志查询分析 首先需要对慢日志进行一些设置,如下: SHOW VARIABLES LI ...
- mysql5.7在centos上安装的完整教程以及相关的“坑”
安装前的准备 Step1: 如果你系统已经有mysql,如一般centos自带mysql5.1系列,那么你需要删除它,先检查一下系统是否自带mysql yum list installed | gre ...
- 学习笔记:Zookeeper选举机制
1.Zookeeper选举机制 Zookeeper虽然在配置文件中并没有指定master和slave 但是,zookeeper工作时,是有一个节点为leader,其他则为follower Leader ...