Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数组中随机生成整数的存储频率_Java_Arrays_Frequency - Fatal编程技术网

Java 数组中随机生成整数的存储频率

Java 数组中随机生成整数的存储频率,java,arrays,frequency,Java,Arrays,Frequency,我正试图解决数组的问题,我不太擅长解释东西,所以请耐心听我说 我需要做一个代码来计算[0..range]范围内的“num”随机整数,并将频率放在arr[]中。这是我到目前为止得到的 /*计算[a..b]范围内的随机整数/ /*计算[0..range]范围内的num个随机整数,并将 频率单位为arr[]/ 静态测试(int[]arr2,int num,int range){ for(int i=0;i

我正试图解决数组的问题,我不太擅长解释东西,所以请耐心听我说

我需要做一个代码来计算[0..range]范围内的“num”随机整数,并将频率放在arr[]中。这是我到目前为止得到的

/*计算[a..b]范围内的随机整数/

/*计算[0..range]范围内的num个随机整数,并将 频率单位为arr[]/

静态测试(int[]arr2,int num,int range){
for(int i=0;i
我这样做对吗?我想我想知道的是arr[rand]++是什么意思。我知道这意味着它增加了存储在元素rand中的值,但它考虑了频率吗

最终目标是制作一个使用该频率的直方图


谢谢您的时间!

我假设它是这样工作的(尽管您没有显示arr2的初始化)is arr2的长度与您的值范围相同。假设您正在生成一个从0到4的随机数。您创建一个包含5个元素的数组,每个元素表示其中一个数字。然后根据随机数递增索引。最后,arr2中的每个元素都具有该整数的值总数。不要尝试his具有非常大的范围,并且它也不适用于不从0开始的范围。存储在元素rand中的值是频率,所以是的,它考虑了频率。我对Java不太熟悉,但我可以想象,为了使增量工作,您必须以某种方式将数组初始化到最大值,每个元素中都有0。这取决于是的,它确实会增加存储在那里的值,从而计算频率。您选择一个随机数,并将其作为数组的索引,并增加该索引处的值,基本上计算随机数被选择的次数,假设数组中有元素[a,b)以1为增量。@CalebJoshuaMingle事实上,基本数类型的Java数组是自动初始化的,所有元素都是0。谢谢大家,我现在理解得更好了。
static int randomInteger(int a, int b) {
  int randomInt = ((int)(Math.random() * b) + a) ;
    return randomInt ;  
static void doSingleTest( int[] arr2, int num, int range) {

    for (int i = 0; i< num ; i++) {
        int rand = randomInteger(0, range);
        arr2[rand] ++ ;
    }

}