//returns random letter between A and Z:
private char randomLetter() {
int ascii = randomNumberBetween(65,90);
char letter = (char)ascii;
return letter;
}
/**
*Returns random number between min & max, INCLUSIVE of min & max:
*/
private int randomNumberBetween(int min, int max)
max++; //makes range *include* min & max
int num = (int)( (Math.random()*(max-min)) + min);
return num;
}
or, to do it your way:
char RANDOM_letter;
String availableLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int randNum = randomNumberBetween(0, availableLetters.length());
RANDOM_letter = availableLetters.charAt(randNum);
/**
*Returns random number between min & max, INCLUSIVE of min & max:
*/
private int randomNumberBetween(int min, int max)
max++; //makes range *include* min & max
int num = (int)( (Math.random()*(max-min)) + min);
return num;
}
try this: import java.util.Random ;
public class Example {
static private final Random RNG = new Random() ;
static public char getRandomLetterOfString(String str) {
int idx = RNG.nextInt(str.length()) ;
return str.charAt(idx) ;
}
}
you can do like this.
String s="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char randomChar;
int index;
Random r= new Random(1);
for (int i=0;i<10;i++){
index=r.nextInt(s.length());
randomChar=s.charAt(index);
System.out.println(randomChar);
}