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的数字 第二步:让用户输入数字 第三步:输入的数字与生成数字不同执行下一步,相同执行第五步 第四步:比较两数大小并输出结果,并返回第二步 第五步:输出猜对 ...
随机推荐
- Linux之grep命令
概述 所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具.grep命令在对一个或多个文件的内容进行基于模式的 ...
- C语言程序设计第六次作业--循环结构(2)
(一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数). 输入输出样例: Input e ...
- Zend引擎探索 之 PHP中前置递增不返回左值
首先来讲,一般我们对"左值"的理解就是可以出现在赋值运算符的左侧的标识符,也就是可以被赋值.这样讲也许并不十分确切,在不同的语言中对左值的定义也不尽相同.在这里我们讨论前置递增(和 ...
- git pull 报错 You have not concluded your merge (MERGE_HEAD exists).
git pull时报错 解决方案:
- c# 判断datatable中是否存在某列
if (datatable.columns.contains("要找的列名"))
- 取list的值
list.get(0):之类的我就不写了 我就写一个我老忘记的 Iterator it = list.iterator(); while(it.hasNext()){ Student stu = it ...
- 基于PHP的地址智能解析案例-快宝开放平台
快宝地址智能解析,批量录入收件人.发件人最好的解决方案,广泛应用于快递行业,电商行业,ERP应用等. 一.对接前准备 注册快宝开放平台,获得开发者账号,查看如何注册. 二.对接联调 快宝开放平台支持多 ...
- day0203 XML 学习笔记
day02, 03 1. xml语言和作用 2. xml语法详解 2.1 xml 语法声明 2.1.1 encoding 属性 2.1.2 standalone 属性 2.2 xml 元素(Eleme ...
- include和require的区别比较
require 的使用方法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require ...
- JAVA反射之Class类的练习
package zhang; /** * JAVA反射之CLass类的练习 * * 在面向对象的语言里,万事万物皆对象,那么类是谁的对象呢? * 类的类型是CLass * * */ class Tes ...