Generate a random character in Kotlin
This article explores different ways to generate a random character in Kotlin.
1. Using CharRange.random() function
To generate a random element between a specific range of characters, call the random() function on the Kotlin CharRange. For instance, the following code generates a random character in the range A-Z.
|
1 2 3 4 |
fun main() { val rand = ('A'..'Z').random() println(rand) } |
Don’t call random() function on an empty range, otherwise IllegalArgumentException is thrown. We can easily extend the solution to generate a random character in the alphanumeric range. The alphanumeric range consists of digits, lowercase, and uppercase characters.
|
1 2 3 4 |
fun main() { val rand = listOf(('0'..'9'), ('a'..'z'), ('A'..'Z')).flatten().random() println(rand) } |
2. Using Random.nextInt() function
Alternatively, use the nextInt() function from the kotlin.random.Random class to generate a random character between some specific character range, as shown below.
|
1 2 3 4 5 6 7 8 9 10 |
import kotlin.random.Random fun randomChar(): Char { return (Random.nextInt(26) + 'A'.toInt()).toChar() } fun main() { val rand = randomChar() println(rand) } |
To generate a random value from the lowercase and uppercase characters range, do like:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
import kotlin.random.Random fun randomChar(): Char { val rand = Random.nextInt(52) val base = if (rand < 26) 'A' else 'a' return (base.toInt() + rand % 26).toChar() } fun main() { val rand = randomChar() println(rand) } |
Finally, to generate a random character using any custom character set, do as follows.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
import kotlin.random.Random fun randomChar(chars: String): Char { return chars[Random.nextInt(chars.length)] } fun main() { val chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" val rand = randomChar(chars) println(rand) } |
That’s all about generating a random character in Kotlin.
Thanks for reading.
To share your code in the comments, please use our online compiler that supports C, C++, Java, Python, JavaScript, C#, PHP, and many more popular programming languages.
Like us? Refer us to your friends and support our growth. Happy coding :)