所以基本上標題我想將單詞字母更改為另一個單詞但它說我必須指定引數
fun main() {
val dictionary = mapOf( "c" to "b", "a" to "d" , "r" to "e"//here is the letters i want to change
)
val letters = "car"//the word i want to change
for (me in letters){
println(dictionary[me])
}
}
我想讓“汽車”成為“bde”
uj5u.com熱心網友回復:
請注意,您的地圖將字串作為鍵,因為您在這些地方使用了字串文字:
val dictionary = mapOf( "c" to "b", "a" to "d" , "r" to "e")
*** *** ***
但是,當您訪問地圖時,您正在使用 訪問它me,這是Char您從字串中獲得的letters。這會導致錯誤。
我建議您將地圖更改為使用Char鍵。將字串文字更改為字符文字:
val dictionary = mapOf( 'c' to "b", 'a' to "d" , 'r' to "e")
*** *** ***
請注意,這些字母現在用單引號括起來。
雖然不需要解決這個特定問題,但您也可以將映射的值更改為字符文字。
之后,您應該使用print而不是println將地圖值列印出來,以便它們都列印在同一行:
for (me in letters){
print(dictionary[me] ?: me.toString())
}
請注意,我添加了該?: me.toString()部分,以便如果在地圖中找不到替換,則會列印原始字母。
如果您想要一個字串作為結果,而不是將其列印出來,
val result = letters.map { dictionary[it] ?: it.toString() }.joinToString("")
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/514402.html
標籤:科特林
上一篇:如何驗證來自檔案流的錯誤輸入?
下一篇:kotlin有趣的字串連接
