How to Pick a Random Character in Java

The following Java program can be used to generate a random character in Java. There are three functions in the program.

  • getRandomCharacter() returns a random character in the ASCII printable character set.
  • getRandomAlphabet() returns a random alphabet in english (a - z).
  • getRandomAlphaNum() returns a random alphanumeric character (0 - 9 & a - z).
import java.util.Random;

// Example - Java class to generate random characters
public class RandomCharDemo {
    
    public static final String ALPHANUMERIC_CHARACTERS = "0123456789abcdefghijklmnopqrstuvwxyz";
    
    public static void main(String[] args) {
        System.out.println("Random character:"+getRandomCharacter());
        System.out.println("Random Alphabet:"+getRandomAlphabet());
        System.out.println("Random Alphanumeric:"+getRandomAlphaNum());
        
    }

    // Create a random alphanumeric character in Java
    // Random alphanumeric generator function in Java
    // Only lowercase letters
    private static String getRandomAlphaNum() {
        Random r = new Random();
        int offset = r.nextInt(ALPHANUMERIC_CHARACTERS.length());
        return ALPHANUMERIC_CHARACTERS.substring(offset, offset+1);
    }

    // Create a random alphabet in Java
    // Only lowercase letters
    private static String getRandomAlphabet() {
        Random r = new Random();
        return String.valueOf((char)(r.nextInt(26)+'a'));
    }

    // Create a random ASCII printable character in Java
    // Returns both lowercase and uppercase letters
    private static String getRandomCharacter() {
        Random r = new Random();
        return String.valueOf((char)(r.nextInt(95)+32));
    }
}

There are number of uses for these functions. These can be used for generating random passwords or for generating random words in a program.