我在做一个回文运动,想验证字符串的一半循环。我试图为前做的事:为(在text.indices指数/ 2),并没有工作
fun palindrome(text:String): Boolean {
var inverse : Int = text.length - 1
for (index in text.indices) {
if (!text[index].equals(text[inverse])) {
return false
}
inverse--
}
return true
}
在科特林的for
循环语法类似于Java的"enhanced for" loop:
for (<variable> in <expression>) {
<body>
}
其中<expression>
可以是“任何提供一个迭代器”(from the documentation)
在科特林相当于您在您的评论添加的代码是:for (i in 0 until text.length()/2)
。需要注意的是until
不是关键字,而是一个infix
function并创建range 0 .. text.length()-1
。
更多关于范围here。