Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.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 如何使用限制为0-20的随机数填充数组_Java_Arrays_Random - Fatal编程技术网

Java 如何使用限制为0-20的随机数填充数组

Java 如何使用限制为0-20的随机数填充数组,java,arrays,random,Java,Arrays,Random,在数组中放置随机生成器时遇到问题,如何从数组中的0-9中获取20个随机数?然后计算这些数字的出现次数 导入java.util.Random 公共类计数位数{ public static void main(String[] args) { Random digit = new Random(); int Random[] = new int [20]; int Digits[] = {0,1,2,3,4,5,6,7,8,9}; int Count

在数组中放置随机生成器时遇到问题,如何从数组中的0-9中获取20个随机数?然后计算这些数字的出现次数

导入java.util.Random

公共类计数位数{

public static void main(String[] args) {



    Random digit = new Random(); 

    int Random[] = new int [20];

    int Digits[] = {0,1,2,3,4,5,6,7,8,9}; 

    int Count [] = new int [10]; 


    for ( int i = 0; i < Digits.length; i++) {


        for( int j = 0; j < Random.length; j++) {

            if ( Digits [i] == Random [j] ) 
                Count[i]++; 
        }

    }


    for ( int i = 0; i < Count.length; i++) {

        if ( Count[i] == 1) 
            System.out.printf(" %d  occurs  1 time " , Digits[i] ); 

        else
            System.out.printf("%d occurs %d times" , Digits[i], Count[i]); 

    }
迄今为止的结果:
0发生20次1发生0次2发生0次3发生0次4发生0次5发生0次6发生0次7发生0次8发生0次9发生0次您忘记了为数组元素分配随机数。若要查看随机数是如何生成的,请执行以下操作

您需要调用随机对象的nextIntan integer方法。如果您给它25,它将返回一个0-24(含0-24)之间的随机整数

用法示例:

随机兰德=新的随机; int random_int=rand.nextInt50;//--->随机整数0-49 完整代码:

导入java.util.Random; 公共班机{ 公共静态无效字符串[]args{ 随机数=新随机数; int Random[]=新int[20];
对于int x=0;x您需要实际获取一个随机数,并在范围内获取。将提供必要的功能,并包括一个.nextInt绑定,该绑定返回0和绑定之间的值:

公共int-nextint-bound

返回从该随机数生成器的序列中提取的伪随机、均匀分布的int值,该值介于0和指定值之间

比如:

Random rnd = new Random();

int num = rnd.nextInt(10);  // returns between 0 and 9
鉴于此,您还有两个问题: -生成20个数字 -计数

知道可能的条目数在0到9之间,使用数组保存计数是很容易的

int[] counts = new int[10];  // holds between 0 and 9
for (int i = 0; i < 20; ++i) {
  int num = rnd.nextInt(10);
  counts[num]++;
}
计数数组的输出将给出随机生成0到9之间给定数字的次数

查看一个

您可以尝试以下方法:

创建一个长度为20的int数组,然后使用一个简单的for循环生成一个随机数,并将其放入数组中

int[]随机=新int[20];
forint i=0;i如何使用限制为0-20的随机数填充数组|如何从数组中的0-9中获得20个随机数-是哪一个?我在将随机生成器放置到数组中时遇到问题,为什么要这样做?您只需要一个随机生成器,为什么要将其放置在数组中?您希望将生成的随机数放置在数组中,所以o首先,将int Random[]=new int[20];更改为int[]number=new int[20];重复部分除了各种其他注释外,您还需要注意Java风格的约定。1变量的标识符不应以大写字母开头。2标识符的名称应反映变量的用途。因此,例如,调用随机数生成器数字是错误的。这不是错误的t一个数字。这是一个随机数生成器。在确定计数之前,我如何打印这20个数字?我在回答中添加了解释您的代码,这将帮助人们:
Random rnd = new Random();

int num = rnd.nextInt(10);  // returns between 0 and 9
int[] counts = new int[10];  // holds between 0 and 9
for (int i = 0; i < 20; ++i) {
  int num = rnd.nextInt(10);
  counts[num]++;
}