经过大量的'ArrayIndexOutOfBound'消息,这个for-loop适用于我,但仅仅因为我用(i-1) 。 (t)表示:在进入循环之前,减1?单因子递减运算符--i的行为就像我 - [Android Studio(Java)]
for (int i = offset; i > 0; --i) {
if (Character.isLetter(lnCmplt.charAt(i - 1))) {
selStart -= 1;
Log.i("1.for (i-1)= ", (i-1)+" char=["+lnCmplt.charAt(i-1)+"] selStart= "+selStart);
}
}
Log.i控制台输出(它是真实的,仅修整):
lnStart = 492 lnEnd = 506偏移= 7从登录//线之前
I/1。 (i-1)= 6 char = [e] selStart = 6 // < - 该值必须为5 (i-1)= 5 char = [k] selStart = 5 ...
[编辑]解决方案:在第一个循环中,不执行x-crement。
您似乎对组成'for'语句的部分的执行顺序感到困惑。 –
@SotiriosDelimanolis:看起来相当如此,我会通知我的。 thx为链接。 – uneviltoo