Genera un numero casuale compreso tra 1 e 10 in Java

Rupam Yadav 12 ottobre 2023
  1. random.nextInt() per generare un numero casuale compreso tra 1 e 10
  2. Math.random() per generare numeri casuali compresi tra 1 e 10
  3. ThreadLocalRandom.current.nextInt() per generare numeri casuali compresi tra 1 e 10
Genera un numero casuale compreso tra 1 e 10 in Java

Esamineremo i passaggi per generare un numero casuale compreso tra 1 e 10 in modo casuale in Java. Vedremo tre pacchetti o classi Java in grado di generare un numero casuale compreso tra 1 e 10 e quale di essi è il più adatto da utilizzare.

random.nextInt() per generare un numero casuale compreso tra 1 e 10

java.util.Random è un pacchetto fornito con Java e possiamo usarlo per generare un numero casuale tra un intervallo. Nel nostro caso, l’intervallo è compreso tra 1 e 10.

Questo pacchetto ha una classe Random che ci permette di generare più tipi di numeri, sia che si tratti di un int o di un float. Guarda l’esempio per capire meglio.

import java.util.Random;

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;

    Random random = new Random();

    int value = random.nextInt(max + min) + min;
    System.out.println(value);
  }
}

Produzione:

	6

Per dimostrare che la tecnica di cui sopra funziona e genera numeri casuali ogni volta, possiamo utilizzare un bucle per generare un nuovo numero casuale fino al termine. Poiché non abbiamo una vasta gamma di numeri, i numeri casuali possono essere ripetuti.

import java.util.Random;

public class Main {
  public static void main(String[] args) {
    Random random = new Random();

    for (int i = 1; i <= 10; i++) {
      int value = random.nextInt((10 - 1) + 1) + 1;
      System.out.println(value);
    }
  }

Produzione:

10
7
2
9
2
7
6
4
9

Math.random() per generare numeri casuali compresi tra 1 e 10

Un’altra classe che può aiutarci a raggiungere il nostro obiettivo è Math con più funzioni statiche per randomizzare i numeri. Useremo il metodo random(). Restituisce un valore casuale del tipo float. Questo è il motivo per cui dobbiamo convertirlo in un int.

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;
    for (int i = min; i <= max; i++) {
      int getRandomValue = (int) (Math.random() * (max - min)) + min;
      System.out.println(getRandomValue);
    }
  }

Produzione:

5
5
2
1
6
9
3
6
5
7

ThreadLocalRandom.current.nextInt() per generare numeri casuali compresi tra 1 e 10

L’ultimo metodo nella nostra lista per ottenere numeri casuali tra 1 e 10 è usare la classe ThreadLocalRandom che è stata introdotta in JDK 7 per programmi multi-thread.

Possiamo vedere di seguito che dobbiamo chiamare il metodo current() della classe poiché vogliamo che i numeri casuali vengano generati nel thread corrente.

import java.util.concurrent.ThreadLocalRandom;

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;

    for (int i = 1; i <= 10; i++) {
      int getRandomValue = ThreadLocalRandom.current().nextInt(min, max) + min;

      System.out.println(getRandomValue);
    }
  }
}

Produzione:

3
4
5
8
6
2
6
10
6
2
Autore: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Articolo correlato - Java Number