1. /**
  2. * JAVA 返回随机数,并根据概率、比率
  3. * @author zhanglei
  4. *
  5. */
  6. public class MathRandom
  7. {
  8. /**
  9. * 0出现的概率为%50
  10. */
  11. public static double rate0 = 0.50;
  12. /**
  13. * 1出现的概率为%20
  14. */
  15. public static double rate1 = 0.20;
  16. /**
  17. * 2出现的概率为%15
  18. */
  19. public static double rate2 = 0.15;
  20. /**
  21. * 3出现的概率为%10
  22. */
  23. public static double rate3 = 0.10;
  24. /**
  25. * 4出现的概率为%4
  26. */
  27. public static double rate4 = 0.04;
  28. /**
  29. * 5出现的概率为%1
  30. */
  31. public static double rate5 = 0.01;
  32. /**
  33. * Math.random()产生一个double型的随机数,判断一下
  34. * 例如0出现的概率为%50,则介于0到0.50中间的返回0
  35. * @return int
  36. *
  37. */
  38. private int PercentageRandom()
  39. {
  40. double randomNumber;
  41. randomNumber = Math.random();
  42. && randomNumber <= rate0)
  43. {
  44. ;
  45. }
  46. else if (randomNumber >
    rate0  && randomNumber <= rate0 + rate1)
  47. {
  48. ;
  49. }
  50. else if (randomNumber >= rate0 + rate1
  51. && randomNumber <= rate0 + rate1 + rate2)
  52. {
  53. ;
  54. }
  55. else if (randomNumber >= rate0 + rate1 + rate2
  56. && randomNumber <= rate0 + rate1 + rate2 + rate3)
  57. {
  58. ;
  59. }
  60. else if (randomNumber >= rate0 + rate1 + rate2 + rate3
  61. && randomNumber <= rate0 + rate1 + rate2 + rate3 + rate4)
  62. {
  63. ;
  64. }
  65. else if (randomNumber >= rate0 + rate1 + rate2 + rate3 + rate4
  66. && randomNumber <= rate0 + rate1 + rate2 + rate3 + rate4
  67. + rate5)
  68. {
  69. ;
  70. }
  71. ;
  72. }
  73. /**
  74. * 测试主程序
  75. * @param agrs
  76. */
  77. public static void main(String[] agrs)
  78. {
  79. ;
  80. MathRandom a = new MathRandom();
  81. ; i <= 100; i++)//打印100个测试概率的准确性
  82. {
  83. System.out.println(a.PercentageRandom());
  84. }
  85. }
  86. }

java根据概率生成数字的更多相关文章

  1. JAVA JDK keytool 生成数字证书

    简介: 数字证书作为网络安全数据传输的凭证,web在传输时客户端(浏览器)和 服务端(服务器)先进行会话握手,在握手过程中服务端会验证客户端的是否已经在服务端做了认证,这是单向认证.如果是双向认证的话 ...

  2. [CareerCup] 17.11 Rand7 and Rand5 随机生成数字

    17.11 Implement a method rand7() given rand5(). That is, given a method that generates a random numb ...

  3. 通过java来批量生成身份证号

    通过java来批量生成身份证号,方便来测试程序. package com.diyvc.controller.user; import java.util.Calendar; import java.u ...

  4. 67. 总结篇:面试中随机数"等概率"vs"不等概率"生成问题[random generator with equal or unequal probability]

    [本文链接] http://www.cnblogs.com/hellogiser/p/random-generator-with-equal-or-unequal-probability.html 1 ...

  5. JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)

    1.命令行方式 dos命令行,常见的命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd:删除目录 cd:进入指定目录 cd..:退回到上一级目录 cd/:退回到根目录 del:删除文 ...

  6. 利用Java随机,生成随机学生数据

    为模拟向数据库中大量插入学生数据(注:此处应该用PreparedStatement.batchUpdate等批处理提高效率)的情形,通过Java随机来生成学生数据. 一.要生成的学生数据 studen ...

  7. JDK 生成数字证书

    JDK(keytool.exe)生成数字证书 2010-11-21 15:52 QUOTE: keytool JAVA是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数 ...

  8. java模拟验证码生成

    设计思想 第一步:随机生成字符串 第二步:用户输入字符串 第三步:将两个字符串转化为同一类型 第四步:比较是否相同 第五步:输出结果 程序流程图 程序源代码 /*2017/10/7 王翌淞 验证码模拟 ...

  9. java选做猜数字

    程序设计思想 第一步:使用随机数生成1-100的数字 第二步:让用户输入数字 第三步:输入的数字与生成数字不同执行下一步,相同执行第五步 第四步:比较两数大小并输出结果,并返回第二步 第五步:输出猜对 ...

随机推荐

  1. Linux之grep命令

    概述 所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具.grep命令在对一个或多个文件的内容进行基于模式的 ...

  2. C语言程序设计第六次作业--循环结构(2)

    (一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数). 输入输出样例: Input e ...

  3. Zend引擎探索 之 PHP中前置递增不返回左值

    首先来讲,一般我们对"左值"的理解就是可以出现在赋值运算符的左侧的标识符,也就是可以被赋值.这样讲也许并不十分确切,在不同的语言中对左值的定义也不尽相同.在这里我们讨论前置递增(和 ...

  4. git pull 报错 You have not concluded your merge (MERGE_HEAD exists).

    git pull时报错 解决方案:

  5. c# 判断datatable中是否存在某列

    if (datatable.columns.contains("要找的列名"))

  6. 取list的值

    list.get(0):之类的我就不写了 我就写一个我老忘记的 Iterator it = list.iterator(); while(it.hasNext()){ Student stu = it ...

  7. 基于PHP的地址智能解析案例-快宝开放平台

    快宝地址智能解析,批量录入收件人.发件人最好的解决方案,广泛应用于快递行业,电商行业,ERP应用等. 一.对接前准备 注册快宝开放平台,获得开发者账号,查看如何注册. 二.对接联调 快宝开放平台支持多 ...

  8. day0203 XML 学习笔记

    day02, 03 1. xml语言和作用 2. xml语法详解 2.1 xml 语法声明 2.1.1 encoding 属性 2.1.2 standalone 属性 2.2 xml 元素(Eleme ...

  9. include和require的区别比较

    require 的使用方法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require ...

  10. JAVA反射之Class类的练习

    package zhang; /** * JAVA反射之CLass类的练习 * * 在面向对象的语言里,万事万物皆对象,那么类是谁的对象呢? * 类的类型是CLass * * */ class Tes ...