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的数字 第二步:让用户输入数字 第三步:输入的数字与生成数字不同执行下一步,相同执行第五步 第四步:比较两数大小并输出结果,并返回第二步 第五步:输出猜对 ...
随机推荐
- .eslintrc 文件
安装 建议采用全局安装方式 npm install -g eslint 初始化 如果你的项目还没有配置文件(.eslintrc)的话,可以通过指定–init参数来生成一个新的配置文件: `eslint ...
- 百度ML/DL方向面经
最近败人品败得有些厉害,很多事都处理得不好--感觉有必要做点好事攒一攒. 虽然可能面试经过不是很有代表性,不过参考价值大概还是有的-- 由于当时人在国外,三轮都是电面-- 一面 当地时间早上5点半爬起 ...
- ionic3-ng4学习见闻--(自定义ion-tab图标)
学习混合开发语言,目的就是为了快速开发一个适用于多平台的app. app基本都会有footer,也就是tabbar,用来快速导航不同的页面. ionic也有这个组件,ion-tab. 常用方法如下: ...
- 3.3 声明[[],]的数组, push_back() 和 back() 的区别
声明一个 [[],] 的二维数组: vector < vector<int> > res(1, vector<int>()); 或者 vector<vecto ...
- Why Helm? - 每天5分钟玩转 Docker 容器技术(160)
本章我们将学习 Helm,Kubernetes 的包管理器. 每个成功的软件平台都有一个优秀的打包系统,比如 Debian.Ubuntu 的 apt,Redhat.Centos 的 yum.而 Hel ...
- 手把手教你全家桶之React(一)
前言 最近项目用到react,其实前年我就开始接触react,时光匆匆,一直没有时间整理下来(太懒啦)!如今再次用到,称工作间隙,对全家桶做一次总结,项目源码地址.废话不多说,上码. 创建一个文件目录 ...
- 解决ASP.NET MVC 检测到有潜在危险的 Request.Form 值
提交使用html编辑器编辑后的数据,由于Request时出现有HTML或JavaScript等字符串时,系统会认为是危险性值.立马报错. "从客户端 ... 中检测到有潜在危险的 Reque ...
- iOS开源加密相册Agony的实现(五)
简介 虽然目前市面上有一些不错的加密相册App,但不是内置广告,就是对上传的张数有所限制.本文介绍了一个加密相册的制作过程,该加密相册将包括多密码(输入不同的密码即可访问不同的空间,可掩人耳目).Wi ...
- SpringMVC基础配置(通过注解配置,非xml配置)
SpringMVC是什么,有多火,我这里就不再啰嗦了,SpringMVC比Struts2好用太多,我在学校的时候私下里两种都接触过,对比之后果断选择了SpringMVC,后来在做Android应用开发 ...
- Dynamics CRM2016 Web API之Expand related entities & $ref & $count
本篇介绍两个关于1:N关系中通过主实体取关联子实体的api,这两个api会经常被用到而且比原来的odata方式更加方便,之前如果我们要取主实体下所有的关联实体的记录都是通过Retrieve Multi ...