OEThe11
OEThe11

Reputation: 361

Why am I geting a blank when I run this string funtion in Kotlin?

So I was solving a problem that required me to put unique characters in a string without using a data structure.

fun main(){
    val s1 = "fhfnfnfjuw"
    val s2 = "Osayuki"
    val s3 = "Raymond"
    val s4 = "Aseosa"

  uniqueChar(s1)
}


fun uniqueChar(s: String){
    val updatedString = ""
    s.forEach {c ->
        if (!updatedString.contains(c)){
            updatedString.plus(c)
        }
    }
    println(updatedString)

}

And getting this error enter image description here

I'm not sure what's going on and why I'm getting a blank. I'm sure it's an easy fix, but I can't see it. Any help is appreciated.

Upvotes: 0

Views: 42

Answers (1)

Louis Wasserman
Louis Wasserman

Reputation: 198033

updatedString.plus(c) does not change updatedString. It creates a new string, including the character c. Since you don't do anything with that, the new string goes...nowhere.

Instead, you probably wanted updatedString = updatedString.plus(c) -- or something better with StringBuilder, but that's the closest version to your code.

Upvotes: 1

Related Questions