J'ai essayé ce code mais cela me donne des erreurs. Alors, comment puis-je accéder à un caractère dans une chaîne en kotlin. dans Java cela peut être fait par la méthode charAt ().
private fun abc(x: String) {
var i: Int = 0
while (x[i].toString() != "+") {
var y: Char = x[i]
i++
}
}
L'équivalent de Javas String.charAt () dans Kotlin est String.get () . Comme cela est implémenté en tant qu'opérateur, vous pouvez utiliser [index]
Au lieu de get(index)
. Par exemple
val firstChar: Char = "foo"[0]
ou si vous préférez
val someString: String = "bar"
val firstChar: Char = someString.get(0)
Pourriez-vous s'il vous plaît essayer cette méthode à la place?
private fun abc(x: String) {
$p = 1;
do {
$p++
}while (x[p]!= "+")
}
La beauté de Kotlin est que vous pouvez le faire de plusieurs manières, par exemple.
Vous pouvez simplement y accéder par index:
while (x[i] != '+') {
i++
}
Conversion en CharArray
val chars: CharArray = x.toCharArray()
while (chars[i] != '+') {
i++
}
Vous pouvez également utiliser Kotlin idiomatique (préféré):
forEach
x.forEach { c ->
if (c == '+') return@forEach
}
forEachIndexed si vous vous souciez de l'index
x.forEachIndexed { index, c ->
if (c == '+') {
println("index=$index")
return@forEachIndexed
}
}
Dans les deux cas, votre personnage est accessible avec c