Kotlin Generate Random Number with examples

This tutorial provides insights into generating random numbers and alphanumeric strings in Kotlin. A random number is a unique value generated for each execution.

Generating Random Numbers in Kotlin

There are multiple approaches to generating random numbers in Kotlin:

  • Using kotlin.random.Random class:

The Random class includes a nextInt function that produces a random number within a specified range.

Syntax

Random.nextInt(min,max)

min and max is a number or range of numbers.

Here’s an example that prints a random number less than 10 for each execution:

import kotlin.random.Random
fun main() {
    val randomNumber = Random.nextInt(10)
    println(randomNumber)
}

Note: This requires Kotlin SDK version 1.3 or higher.

To generate random numbers within a specific range (between two numbers), the following example generates a random number between 10 and 20:

import kotlin.random.Random
fun main() {
    // Generates a number between inclusive of 10 and 20
    val randomNumber1 = Random.nextInt(10,20)
    println(randomNumber1)

}

Generating Random Strings in Kotlin

In certain scenarios, there’s a need to generate random strings in Kotlin.

The following example demonstrates generating a unique random string with alphanumeric characters:

  • Define the allowed characters within the function.
  • Iterate through characters using map, shuffle, and return the sub-string of the given length.
fun main() {
    println(getRandomString(10))

}
fun getRandomString(length: Int): String {
    val characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmopqrstuvwxyz0123456789"
    return (characters).map { it }.shuffled().subList(0, length).joinToString("")
}

This function generates a random string of the specified length using a shuffled subset of alphanumeric characters.