Для генерации случайных чисел в Java из заданного набора чисел - PullRequest
0 голосов
/ 22 мая 2018

Можно ли сгенерировать случайный номер?из данного набора нет.как 5, 50, 20?Если да, то приведите простой пример. Спасибо.

Ответы [ 3 ]

0 голосов
/ 22 мая 2018
public class RandomNumbers {

  public static void main(String[] args) {
    int[] randomNumbers = new int[] { 2, 3, 5, 7, 11, 13, 17, 19 };

    Random r = new Random();
    int nextRandomNumberIndex = r.nextInt(randomNumbers.length);
    System.out.println(randomNumbers[nextRandomNumberIndex]);
  }

}
0 голосов
/ 22 мая 2018

Вы можете использовать Random.nextInt() для получения случайного index.

. Используйте это index, чтобы получить псевдослучайный элемент:

int[] arr = {1, 2, 3};
int randomIndex = Random.nextInt(arr.length);
int randomVal = arr[randomIndex];
0 голосов
/ 22 мая 2018

Вот один из способов сделать это.

import java.util.concurrent.ThreadLocalRandom;

class randomFromList {
    public static void main(String[] args) {
        int x = 0;
        int[] arr = {5, 50, 20}; // any set of numbers of any length
        for (int i = 0; i < 100; i++) { // prints out 100 random numbers from the list
            x = ThreadLocalRandom.current().nextInt(0, arr.length); // random number
            System.out.println(arr[x]); // item at random index
        }    
    }
}

Лучше использовать java.util.concurrent.ThreadLocalRandom начиная с Java 1.7+.Смотрите здесь почему.Однако, если вы используете версию, предшествующую Java 1.7, используйте Random

...