Android studio random item always same values

Issue

I am codding a quiz application in android studio. But when i run the app, I see always same values. I tried more times. But it doesn’t work. (I am using Kotlin Language)

My code:

fun  two_click(view: View)
{
    val list1 = mutableListOf<String>("one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten")
    var list2 = mutableListOf<String>()
    var random_item : String? = null
    while(true)
    {
        random_item = list1.random().toString()
        if(list2.contains(random_item))
        {
            continue
        }
        else
        {
            list2.add(random_item)
        }

        if(list2.size == 4)
        {
            break
        }
    }
    println(list2)
}

When I run the app, my outputs always same:

Go outputs

I am trying random item when i run the app without same outputs. How can i fix this code ?

Solution

I am not sure that I understood your goals correctly but…

The random numbers generator is pseudo-random. It means that for each start of the program it will generate the same values. To fix that, you can use seed, based on which numbers will be generated.

val rand = Random(1) // it will be your seed
random_item = list1.random(rand).toString()

If you always want to provide different outputs and therefore different seeds, you can create seed like this

val rand = Random(System.currentTimeMillis())

Answered By – Steyrix

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published