How to generate random alpha numeric String in Java
Following code is an example of generating a random alpha-numeric string using Java Random class. It is designed to generate random String of varying length based on the input parameter.
Here is the code
package com.zparacha.utils;
import java.util.Random;
import java.util.Scanner;
public class StringUtilities {
/**
*
* @param n
* Desired Length of random string
* @return
*/
public static String getRandomAlphNumeircString(int n) {
// Get a n-digit multiplier of 10
int maxDigit = (int) Math.pow(10, n - 2);
Random random = new Random();
/*
* Get a random character by getting a number from 0 t0 26 and then adding an
* 'A' to make it a character
*
*/
char randomCharacter = (char) (random.nextInt(26) + 'A');
/*
* Add 1*maxDigit to ensure that the number is equals to or greater than minimum
* value nextInt() method will return the number between 0 and 9*maxDigit
*/
int randomNumber = 1 * maxDigit + random.nextInt(9 * maxDigit);
return String.valueOf(randomCharacter) + randomNumber;
}
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
System.out.print("Enter desired lenght of random string: ");
int n = in.nextInt();
in.nextLine();
System.out.println("Random string = " + getRandomAlphNumeircString(n));
}
}
Method getRandomAlphNumeircString accepts a numeric parameter for the desired length of the String. Using the max length value it creates a variable maxDigit to a 10 muliple number.
It then calls Random.nextInt() method to get a number between 0 and 26 (number of English alphabets) and then adds an ‘A’ to convert that number into a character.
Next, it generates a Random number by calling Random.nextInt() method again.
Finally, it concatenates random character and the random number to generate a random alpha-numeric String.
main method is included to test getRandomAlphNumeircString method.
A sample run produced following output.
Enter desired lenght of random string: 10 Random string = W742681415