Random
lowercase lettersThe letters are "r, p, x, m." They are lowercase. But they are randomly ordered, randomly generated with the Random
class
.
We can represent lowercase ASCII letters with the numbers 0 through 25 inclusive. There are 26 lowercase letters. We turn ints to chars with a cast.
This program uses Random
to generate lowercase letters. These chars could be used to create random strings (or for other nefarious purposes).
nextInt
with an exclusive bound of 26. This yields the values 0 through (and including) 25.import java.util.Random; public class Program { public static void main(String[] args) { Random random = new Random(); // Generate 10 random lowercase letters. for (int i = 0; i < 10; i++) { // Max value is exclusive. // ... So this returns 1, 2, through 25. int n = random.nextInt(26); // Add 97 to move from integer to the range A to Z. char value = (char) (n + 97); // Display our results. System.out.println(value + "..." + Integer.toString(n)); } } }s...18 o...14 y...24 d...3 t...19 p...15 q...16 f...5 f...5 h...7
This algorithm does not support characters with accents (like would be wanted in French). I like French and French is a good language, but this algorithm won't support it.
Other characters, like spaces, could be added to an output stream. We could add the chars to a StringBuilder
. This could generate random text.
But for now, the simplest solution is sufficient. We generate lowercase "A" through "Z." The code should be encapsulated in a method.