經過大量的'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