java 概率生成随机数_JAVA 生成随机数,并根据概率、比率
做一个翻宝程序,通过返回数字0-5来判断中奖情况,
012345,这几个数字的出现的概率是0出现最高,1出现比0少,2出现比1少,依次下去
/**
* 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();
if (randomNumber >= 0 && randomNumber <= rate0)
{
return 0;
}
else if (randomNumber >= rate0 / 100 && randomNumber <= rate0 + rate1)
{
return 1;
}
else if (randomNumber >= rate0 + rate1
&& randomNumber <= rate0 + rate1 + rate2)
{
return 2;
}
else if (randomNumber >= rate0 + rate1 + rate2
&& randomNumber <= rate0 + rate1 + rate2 + rate3)
{
return 3;
}
else if (randomNumber >= rate0 + rate1 + rate2 + rate3
&& randomNumber <= rate0 + rate1 + rate2 + rate3 + rate4)
{
return 4;
}
else if (randomNumber >= rate0 + rate1 + rate2 + rate3 + rate4
&& randomNumber <= rate0 + rate1 + rate2 + rate3 + rate4
+ rate5)
{
return 5;
}
return -1;
}
/**
* 测试主程序
* @param agrs
*/
public static void main(String[] agrs)
{
int i = 0;
MathRandom a = new MathRandom();
for (i = 0; i <= 100; i++)//打印100个测试概率的准确性
{
System.out.println(a.PercentageRandom());
}
}
}
java 概率生成随机数_JAVA 生成随机数,并根据概率、比率相关推荐
- java服务器生成随机数_java生成随机数
java生成随机数 java有三种常用的方式生成随机数: 一.使用Random类 二.使用Math.random方法 三.使用System.currentTimeMillis方法 Random类是最常 ...
- java 获取区间随机数_Java获取随机数的3种方法
主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.rando ...
- java中的随机数_Java获取随机数
随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...
- java 获取区间随机数_Java获取随机数的几种方法
随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...
- java 按比例生成随机数_JAVA 生成随机数,并根据概率、比率
做一个翻宝程序,通过返回数字0-5来判断中奖情况, 012345,这几个数字的出现的概率是0出现最高,1出现比0少,2出现比1少,依次下去 /** * JAVA 返回随机数,并根据概率.比率 * @a ...
- java 生成随机数_Java 生成随机数的 N 种方法
原标题:Java 生成随机数的 N 种方法 www.baeldung.com/java-generating-random-numbers 1.引言 本文将探讨用 Java 生成随机数的不同方法. 2 ...
- java数组随机排序_JAVA 生成随机数数组,并排序输出
package com.koal.test; import java.util.Arrays; /** * * @author hp * 排序 */ public class Sort { //要生成 ...
- java 日期随机数_Java 生成指定时间范围的随机时间、随机中文姓名、随机字符姓名、随机数...
解决问题: Java生成指定时间范围的随机时间? Java生成随机中文姓名? Java生成随机字符姓名? Java生成随机数? 代码: import java.io.UnsupportedEncodi ...
- java生成永远不重复的随机数_java生成不重复随机数的方法
java生成不重复随机数的方法 发布时间:2020-07-01 11:00:00 来源:亿速云 阅读:225 作者:Leah java怎么实现生成不重复随机数 ?针对这个问题,这篇文章详细介绍了相对应 ...
- java 产生随机数_java生成随机数
packagecom.rd.p2p.common.util;importjava.util.Iterator;importjava.util.LinkedHashSet;importjava.util ...
最新文章
- CSV合规的矫枉过正
- gcc 复杂结构体 初始化_gcc编译选项
- 清除messages
- python是c语言写的吗-C语言是学python的基础吗?
- OkHttp简化请求封装思路
- 密码学数字信封的介绍
- Oracle11g新特性:在线操作功能增强-Oracle11g在线重建索引功能增强 (转载)
- C语言小知识---为什么要使用指针
- Linux学习笔记---使用BusyBox创建根文件系统(一)
- 模型加速:WAE-Learning a Wavelet-like Auto-Encoder to Accelerate Deep Neural Networks
- java浏览器安全设置,主编练习win7系统运行java提示“您的安全设置已阻止不可信应用程序运行”的对策...
- 关于nginx file not found
- 使用IDA静态分析解密《舰娘Collection》的lua脚本
- 怎么在Excel中快速将英文翻译为中文
- 用Unison实现数据的双向实时同步
- 软件架构设计---产品线及系统演化
- 形态学运用(去除图像噪点,提取水平线,垂直线)--OPenCV08
- java空指针异常是什么、怎么发生、如何处理
- 论语 宪问篇(笔记)
- 云游戏时代:游戏主机们未来的对手,也许不再是彼此了
热门文章
- ftp扫描工具,6款最好用的ftp扫描工具
- 如何在Windows下安装ReviewBoard
- nagios 飞信通知
- 通过webService下载sharepoint文档库文件
- BroadcastReceiver启动Service 3.1之后静态注册
- html实现个人空间主页(附源码)
- HTML代码 网页设置 QQ空间等分享
- 富士通750打印机驱动步骤_非网络激光打印机如何进行网络打印?
- Mac OS系统下kernel_task占用大量CPU资源导致系统卡顿
- 黑莓7290中文系统下载_无法将Blackberry 7290升级到最新的系统软件