Picking a random letter...

I want to pick a random letter from a string. This is what I have...char RANDOM_letter;String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";RANDOM_letter = ?;
[192 byte] By [grasshopper3] at [2007-9-26 1:42:42]
# 1

//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;

}

artntek at 2007-6-29 2:35:54 > top of Java-index,Archived Forums,Java Programming...
# 2
Random rand = new Random(System.currentTimeMillis());int current = rand.nextInt(26);String all = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";RANDOM_letter = all.charAt(current);
parthasarkar at 2007-6-29 2:35:54 > top of Java-index,Archived Forums,Java Programming...
# 3

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;

}

artntek at 2007-6-29 2:35:54 > top of Java-index,Archived Forums,Java Programming...
# 4

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) ;

}

}

DragonMan at 2007-6-29 2:35:54 > top of Java-index,Archived Forums,Java Programming...
# 5
Thank you all, these examples are all helpfull. I have now learned how to do what I need but better yet I now know many different ways to get the proper results. Thanks again,
grasshopper3 at 2007-6-29 2:35:54 > top of Java-index,Archived Forums,Java Programming...
# 6

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);

}

msohaib at 2007-6-29 2:35:54 > top of Java-index,Archived Forums,Java Programming...