1  public class RandomCharacter {
  2    /** Generate a random character between ch1 and ch2 */
  3    public static char getRandomCharacter(char ch1, char ch2) {
  4      return (char)(ch1 + Math.random() * (ch2 - ch1 + 1));
  5    }
  6  
  7    /** Generate a random lowercase letter */
  8    public static char getRandomLowerCaseLetter() {
  9      return getRandomCharacter('a', 'z');
 10    }
 11  
 12    /** Generate a random uppercase letter */
 13    public static char getRandomUpperCaseLetter() {
 14      return getRandomCharacter('A', 'Z');
 15    }
 16  
 17    /** Generate a random digit character */
 18    public static char getRandomDigitCharacter() {
 19      return getRandomCharacter('0', '9');
 20    }
 21  
 22    /** Generate a random character */
 23    public static char getRandomCharacter() {
 24      return getRandomCharacter('\u0000', '\uFFFF');
 25    }
 26  }