Genera caratteri casuali in Java

Rupam Yadav 12 ottobre 2023
  1. Genera carattere casuale utilizzando random.nextInt() in Java
  2. Genera carattere casuale da una stringa usando random.nextInt() e charAt()
  3. Genera caratteri casuali utilizzando RandomStringUtils di Apache Commons
Genera caratteri casuali in Java

In questo tutorial, introdurremo come possiamo generare un carattere casuale utilizzando diversi metodi. Introdurremo tre metodi con esempi per comprendere meglio l’argomento.

Genera carattere casuale utilizzando random.nextInt() in Java

Random è la classe più comunemente usata in Java per generare un valore casuale, ma non può generare caratteri. Per randomizzare i caratteri usando la classe Random, possiamo usare random.nextInt()per generare numeri interi casuali. Ogni carattere corrisponde a un numero.

Possiamo usare un carattere come limite nella funzione nextInt(). Nell’esempio seguente, possiamo vedere che viene creato un oggetto della classe Random e quindi viene utilizzato (random.nextInt(26) + 'a'). Qui, il carattere 'a' corrisponde al numero 97, utilizzando il quale possiamo generare 26 numeri interi casuali che corrispondono all’alfabeto minuscolo.

Infine, dobbiamo eseguire il cast dell’intero generato su un char.

import java.util.Random;

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

    char randomizedCharacter = (char) (random.nextInt(26) + 'a');
    System.out.println("Generated Random Character: " + randomizedCharacter);
  }
}

Produzione:

Generated Random Character: p

Genera carattere casuale da una stringa usando random.nextInt() e charAt()

Nel prossimo esempio, useremo di nuovo la classe Random e il suo metodo nextInt() ma genereremo un carattere casuale da un insieme di caratteri già definito.

Di seguito possiamo vedere che setOfCharacters è una stringa con diversi caratteri, inclusi alfabeti, numeri e simboli. Per generare un carattere casuale da questa stringa, useremo la lunghezza di setOfCharacters come argomento di random.nextInt(). Una volta generato un numero intero casuale, lo usiamo per ottenere un carattere in un indice o posizione casuale utilizzando charAt(). Restituirà un char casuale da setOfCharacters.

import java.util.Random;

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

    String setOfCharacters = "abcdefghxyz1234567-/@";

    int randomInt = random.nextInt(setOfCharacters.length());
    char randomChar = setOfCharacters.charAt(randomInt);

    System.out.println("Random character from string: " + randomChar);
  }
}

Produzione:

Random character from string: 4

Genera caratteri casuali utilizzando RandomStringUtils di Apache Commons

Nell’ultimo esempio, usiamo una classe RandomStringUtils dalla libreria Apache Commons. La classe RandomStringUtils ha una funzione randomAlphanumeric() per generare stringhe alfanumeriche casuali. randomAlphanumeric(count) accetta un singolo argomento, ovvero la lunghezza della stringa randomizzata che vogliamo.

Nell’esempio seguente, abbiamo passato solo 1 al metodo randomAlphanumeric() poiché vogliamo solo un singolo carattere. Ma questa funzione restituisce il risultato come una stringa. Questo è il motivo per cui dobbiamo convertirlo in un char. Quindi, usiamo charAt() per ottenere il carattere dalla stringa.

import org.apache.commons.lang3.RandomStringUtils;

public class RandomChar {
  public static void main(String[] args) {
    String randomizedString = RandomStringUtils.randomAlphanumeric(1);
    char randomizedCharacter = randomizedString.charAt(0);

    System.out.println("Generated Random Character: " + randomizedCharacter);
  }
}

Produzione:

Generated Random Character: L
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 Char