私はこのコードを試しましたが、エラーが発生しています。では、kotlinで文字列内の文字にアクセスするにはどうすればよいですか。 Javaでは、charAt()メソッドで実行できます。
private fun abc(x: String) {
var i: Int = 0
while (x[i].toString() != "+") {
var y: Char = x[i]
i++
}
}
KotlinのJava String.charAt() に相当するものは String.get() です。これは演算子として実装されているため、get(index)
の代わりに[index]
を使用できます。例えば
val firstChar: Char = "foo"[0]
またはご希望の場合
val someString: String = "bar"
val firstChar: Char = someString.get(0)
代わりにこの方法を試していただけませんか?
private fun abc(x: String) {
$p = 1;
do {
$p++
}while (x[p]!= "+")
}
Kotlinの優れた点は、いくつかの方法で実行できることです。
あなたは単にインデックスによってそれにアクセスすることができます:
while (x[i] != '+') {
i++
}
CharArray
に変換しています
val chars: CharArray = x.toCharArray()
while (chars[i] != '+') {
i++
}
慣用的なKotlinを使用することもできます(推奨)。
forEach
x.forEach { c ->
if (c == '+') return@forEach
}
forEachIndexedインデックスに関心がある場合
x.forEachIndexed { index, c ->
if (c == '+') {
println("index=$index")
return@forEachIndexed
}
}
どちらの場合も、あなたのキャラクターはc
でアクセスされます