生产随机数

package randomT;

import java.util.HashMap;
import java.util.Map;
import java.util.Random;

public class TestMathRandom
{
//方法名称
String method_Name;

//Test
public static void main(String[] args)
{
new TestMathRandom().test();
}

private void test()
{
int [] a = new int[10000];
//方法一测试
showR1(a);
//方法二测试
showR2(a);
//方法三测试
showR3(a);

}

//1生产随机数 Random
private void showR1(int [] a)
{
setName("showR1方法:");
Random r = new Random();
for(int k=0;k<10000;k++)
{
int i = r.nextInt(10);
a[k] = i;
}

countEveryNum(a);
}

//2生产随机数Math.random()
private void showR2(int [] a)
{
setName("showR2方法:");
for(int k=0;k<10000;k++)
{
double aa = Math.random() * 10;
a[k] = (int) aa;
}

countEveryNum(a);
}

//3可控概率生产随机数
private void showR3(int [] a)
{
setName("showR3方法:");
Random r = new Random();
for(int k=0;k<10000;k++)
{
int caseI = r.nextInt(100);
if(caseI <= 10)
{
a[k] = 9;
}
if(caseI >10 &&caseI <= 20)
{
a[k] = 8;
}
if(caseI >20 &&caseI <= 30)
{
a[k] = 7;
}
if(caseI >30 &&caseI <= 40)
{
a[k] = 6;
}
if(caseI >40 &&caseI <= 50)
{
a[k] = 5;
}
if(caseI >50 &&caseI <= 60)
{
a[k] = 4;
}
if(caseI >60 &&caseI <= 70)
{
a[k] = 3;
}
if(caseI >70 &&caseI <= 80)
{
a[k] = 2;
}
if(caseI >80 && caseI <= 81)
{
a[k] = 1;
}
if(caseI >90 && caseI <= 100)
{
a[k] = 0;
}

}

countEveryNum(a);
}

//统计每个数字出现的次数
private void countEveryNum(int [] a)
{
Map map = new HashMap();
//统计数字出现的次数
int count = 0;
int k=1;
for(int i=0;i<a.length;i++)
{

if(map.containsKey(a[i]))
{
int value_key = (Integer) map.get(a[i]);
int old = map.size();
map.put(a[i],value_key);
int new_count = map.size();
if(new_count == old)
{
map.put(a[i],value_key+=1);
}
}
else
{
map.put(a[i],1);
}
}
System.out.println(method_Name+"---map:"+map.entrySet());
}

private void setName(String name)
{
this.method_Name = name;
}
}

原文地址:https://www.cnblogs.com/zssw1990/p/9220130.html

时间: 2024-11-05 22:48:26

生产随机数的相关文章

C语言生产随机数的方法

尽管在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字的重复率很低,以至于它们看起来是随机的.实现这一功能的程序叫做伪随机数发生器.有关如何产生随机数的理论有许多,这里不讨论这些理论及相关的数学知识.因为讨论这一主题需要整整一本书的篇幅.这里要说的是,不管你用什么办法实现随机数发生器,你都必须给它提供一个被称为"种子(seed)"的初始值,而且这个值最好是随机的,或者至少是伪随机的."种子"的值通常是用快速计数寄存器或移位寄存器来生成的.本文中,笔者将

python生产随机数案例

import randomimport reimport string list =list(string.lowercase + string.uppercase) + [str(i) for i in range(10)]FH=('!','@','#','$','%','&','_')for f in FH: list.append(f)num = random.sample(list,10)str=''value= str.join(num)if not value[0].isdigit(

【erlang】erlang几种生成随机数的方法

erlang有三个生产随机数的办法 random:uniform(). 这个函数是erlang库random模块提供的.一般都采用这个. 1> random:uniform(). 0.4435846174457203 erlang:now(). 用当前时间作为随机相信很多人都做过吧.所以如果你没有太多的要求,当然也可以这么做. 1> erlang:now(). {1419,831449,715000} crypto:strong_rand_bytes(N). crypto模块是用于加密的模块.

10 常用类

1 包装类 作用:包装类中封装了该类型常用的属性和方法,以方便操作. java中有8中基本类型,对应有八种包装类: int--->Integer ,char---->Character ,其他六种则为首字母大写,如: boolean---->Boolean 装箱:将基本数据类型转换成包装类,经常通过构造方法完成.  Integer i = new Integer(123); 拆箱:将包装类转换为基本数据类型. xxxValue() ,int i2 = i.intValue(); 从JDK

第七章:常用类

第七章:常用类 包装类 java中有8中基本类型,对应有八种包装类作用:包装类中封装了该类型常用的属性和方法,以方便操作.byte---->Byteshort--->Shortint--->Integerlong---->Longfloat---->Floatdouble---->Doublechar---->Characterboolean---->Boolean装箱:将基本数据类型转换成包装类,经常通过构造方法完成.Integer i = new Int

结对代码复审结果

Q:是否需要有代码规范 需要,我认为非常需要,虽然现代曾经也举办过乱码大赛.但是,代码作为一种车鞥徐语言的同事也是程序员之间的交流的媒介,可读性强可移植性强是非常重要的.就我个人而言,我觉得,我更喜欢每行代码之间都有空行,大括号之后要有换行,程序要换行和缩进非常明显和统一,这样看着才会增加可读性,便于理解. 这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西? 并不是啊...如果你这样的话,等你走上工作岗位上看到一个程序要上万行的代码的时候,我们都是知道的,每一个

集合API

Java集合框架 集合的概念 集合,也称为容器,是一种工具类,它可以将一系列具有共同特性的元素组合成一个单元,用于存储,提取,管理.JDK提供的集合API都包含在java.util包内. Java集合框架主要分为两大部分,一部分实现了collection接口,该接口定义了存取一组对象的方法,其主要子接口为:Set和List,另外一部分是Mapjko,该接口定义了存储一组"键(key)值(value)"映射对的方法. 集合框架体系结构 开发过程中由于需求的不同,Java集合提供了不同的集

python制作爬虫爬取京东商品评论教程

作者:蓝鲸 类型:转载 本文是继前2篇Python爬虫系列文章的后续篇,给大家介绍的是如何使用Python爬取京东商品评论信息的方法,并根据数据绘制成各种统计图表,非常的细致,有需要的小伙伴可以参考下 本篇文章是python爬虫系列的第三篇,介绍如何抓取京东商城商品评论信息,并对这些评论信息进行分析和可视化.下面是要抓取的商品信息,一款女士文胸.这个商品共有红色,黑色和肤色三种颜色, 70B到90D共18个尺寸,以及超过700条的购买评论. 京东商品评论信息是由JS动态加载的,所以直接抓取商品详

【算法设计与分析基础】18、霍纳法则

产生随机数 package cn.xf.algorithm.ch02; import java.util.ArrayList; import java.util.List; /** * 生产随机数 * @author xiaof * */ public class Random { /** * 生产一个随机数的数列 * @param n 生成n个数列 * @param m 数据在0和m-1之间 * @param seed 随机初始种子 * @param a 参数 * @param b 参数 *