Как заполнить массив случайными числами java

от admin

How to generate Random Numbers in Java

In this tutorial, we’ll learn how to generate random number, generate random list, get random number from list, shuffle elements in list using Random Class in Java.

Generate Random Number

Java Random class is having many useful built-in methods for generating random numbers as follows:-

  • nextInt(): Returns a random int value within the range: -2,147,483,648<= value <= 2,147,483, 647
  • nextInt(int range): Returns a random int value within the range: 0 <= value < range
  • nextDouble(): Returns a random double value within the range: 0.0 <= value < 1.0
  • nextFloat(): Returns a random float value within the range: 0.0 <= value < 1.0
  • nextLong(): Returns a random long value.

Generate Random Array

We can create our own method using Random class to generate an Array of random number in given size and range.

We can further improve the method using streams:-

Let’s generate 5 random numbers using this method:-

Generate Random List

Similar to Array, we can create our own method using Random class to generate List of random numbers in given size and range.

Let’s generate 5 random numbers using this method:-

Get Random Element from Array

We can get random user from an Array of users in following way:-

Get Random Element from List

Similar to Array, we can get random user from a list of users in following way:-

Shuffle Elements in List

Java Collections provide a built-in shuffle() method to shuffle the elements of a List.

Let’s shuffle the list of users and return users with random sequence:-

Java. Класс Random. Генерирование случайных чисел

Класс Random . Генерирование случайных чисел. Конструкторы класса. Список методов. Методы получения одиночных случайных чисел

Содержание

  • 1. Класс Random . Общие сведения. Конструкторы класса
  • 2. Базовые методы класса Random . Список
  • 3. Метод setSeed(int) . Установить начальное значение
  • 4. Метод nextBoolean() . Получить случайное значение типа boolean
  • 5. Метод nextDouble() . Получить случайное число типа double . Формирование чисел в заданных пределах
  • 6. Метод nextFloat() . Получить случайное число типа float
  • 7. Метод nextGaussian() . Получить псевдослучайное значение на основе распределения Гаусса
  • 8. Метод nextInt() . Получить случайное число типа int . Получить целое число в заданных пределах
  • 9. Метод nextLong() . Получить случайное число типа long

Поиск на других ресурсах:

1. Класс Random . Общие сведения. Конструкторы класса

Класс Random используется для создания случайных чисел. Для использования возможностей (методов) класса Random в начале приложения нужно подключить модуль java.util.Random следующим образом

Конструкторы класса создают новый генератор случайных чисел. Для создания генератора используются следующие основные конструкторы

  • seed – начальное число, в отношении которого генерируется последовательность случайных чисел. Это число поддерживается методом next() , генерирующим псевдослучайное число (pseudorandom number).

Создание экземпляров класса Random , которые будут генерировать последовательности случайных чисел с помощью вышеперечисленных конструкторов может быть примерно таким

  • r1 , r2 – экземпляры, которые будут генерировать последовательности случайных чисел;
  • 122 – целое число, с которого начинается формирование следующих случайных чисел. Здесь можно задавать любое другое целое число (55, 101… и т.п.).

После создания экземпляра класса Random становятся доступны непосредственно методы, позволяющие получать последовательности случайных чисел.

2. Базовые методы класса Random . Список

Класс Random содержит ряд методов для генерирования случайных чисел:

  • setSeed() – устанавливает исходное значение, которое используется в качестве основы для генерирования случайных чисел;
  • doubles() – формирует данные типа double в виде потока случайных чисел;
  • ints() – формирует данные типа int в виде потока случайных чисел;
  • longs() – формирует поток данных типа long, содержащий случайные числа;
  • nextBoolean() – возвращает случайное значение типа boolean ;
  • nextBytes() – возвращает массив случайных чисел типа byte[] ;
  • nextDouble() – возвращает случайное число типа double ;
  • nextFloat() – возвращает случайное число типа float ;
  • nextGaussian() – возвращает псевдослучайное значение на основе распределения Гаусса;
  • nextInt() – возвращает случайное число типа int ;
  • nextLong() – возвращает случайное число типа long .
3. Метод setSeed(int) . Установить начальное значение

Метод setSeed() позволяет задавать исходное значение, на основе которого формируется последовательность случайных чисел. В последовательности каждое последующее число зависит от предыдущего. Согласно документации сигнатура метода setSeed() следующая

  • seed – начальное значение, на основе которого генерируется последовательность случайных чисел.

Создание экземпляра класса Random с помощью конструктора с параметром

  • seed – некоторое целочисленное значение типа long .
Читать:
Counter в c что это

Пример.

В примере создается поток данных, содержащих 10 случайных чисел типа double . Сначала начальное значение (seed) задается равным 122, затем оно переопределяется новым значением 150 с помощью метода setSeed() .

4. Метод nextBoolean() . Получить случайное значение типа boolean

Метод nextBoolean() позволяет получить случайное значение типа boolean . Согласно документации объявления метода в классе Random следующее

Пример.

Пример.

В примере сначала формируется массив из 10 чисел типа double . Затем этот массив выводится на экран. Значение каждого числа типа double лежит в пределах [min; max) где min и max вводятся с клавиатуры.

6. Метод nextFloat() . Получить случайное число типа float

Метод nextFloat() возвращает случайное число типа float . Сигнатура метода следующая

Метод возвращает число, которое находится в диапазоне [0.0f; 1.0f).

Пример.

В примере формируется массив из 10 случайных чисел типа float . Числа лежат в диапазоне [-5; 5).

7. Метод nextGaussian() . Получить псевдослучайное значение на основе распределения Гаусса

Метод nextGaussian() возвращает значение типа double , полученное на основе распределения Гаусса со средним значением 0.0 и стандартным отклонением 1.0. Согласно документации объявления метода в классе Random следующее

Пример.

8. Метод nextInt() . Получить случайное число типа int . Получить целое число в заданных пределах

Метод nextInt() возвращает целое случайное число типа int . Число может быть как положительным, так и отрицательным. Согласно документации объявление метода следующее

Пример.

В примере с помощью метода nextInt() формируется массив случайных чисел. Каждое число имеет значение в пределах [min; max] . Для формирования числа выведена формула. В конце массив сформированных чисел выводится на экран. Для ввода цифр с клавиатуры используются средства класса Scanner .

9. Метод nextLong() . Получить случайное число типа long

Метод nextLong() возвращает случайное число типа long . Согласно документации Java объявление метода выглядит следующим образом

Create an array with random values in a java program

In this post, we will create an array and populate the array with some random values.

Declare an array

We can declare an array of integers using the syntax:

Create an array with random values

We can create an array of ten integers using the syntax.

array = new int[10];

Java program

Sample Output

40 26 32 73 5 8 15 16 86 25

Note that : As expected for each run of the program the values in the array would change.

Fill an array with random numbers [duplicate]

I need to create an array using a constructor, add a method to print the array as a sequence and a method to fill the array with random numbers of the type double.

Here’s what I’ve done so far:

I’m struggling to figure out how to fill the array with the random numbers I have generated in the randomFill method. Thanks!

15 Answers 15

You can use IntStream ints() or DoubleStream doubles() available as of java 8 in Random class. something like this will work, depends if you want double or ints etc.

you can print the array and you’ll get 100000 random integers.

idmean's user avatar

You need to add logic to assign random values to double[] array using randomFill method.

Then you can call methods, including list() and print() in main method to generate random double values and print the double[] array in console.

One result is as follows:

This seems a little bit like homework. So I’ll give you some hints. The good news is that you’re almost there! You’ve done most of the hard work already!

  • Think about a construct that can help you iterate over the array. Is there some sort of construct (a loop perhaps?) that you can use to iterate over each location in the array?
  • Within this construct, for each iteration of the loop, you will assign the value returned by randomFill() to the current location of the array.

Note: Your array is double , but you are returning int s from randomFill . So there’s something you need to fix there.

Arrays#setAll

Output of a sample run:

[0.1182317850027168, 0.9437573020895418, 0.2690505524813662, 0.6771923722130754, 0.04893586074165357, 0.42483010937765653, 0.16310798731469023, 0.2541941051963008, 0.9838342001474454, 0.8595732419005068]

Похожие статьи