當我運行下面的代碼:charAt(i--),在(i-1)或i上獲得價值?
int i = s1.length()-1, j = s2.length()-1;
int t1, t2, c=0;
while(i>=0||j>=0) {
t1=Character.getNumericValue(i<s1.length() ? s1.charAt(i--) : '0');
t2=Character.getNumericValue(j<s2.length() ? s2.charAt(j--) : '0');
c = (t1 + t2) > 1 ? 1 : 0;
res.append(t1^t2 + c);
}
我得到這個錯誤:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
是什麼原因造成的錯誤,我該如何解決?
'i'評估i'的'減量之前的值,如果你仍然不知道。順便說一下,該代碼是難以閱讀的。 – Radiodef
哈哈謝謝,我寫了醜陋的代碼... – KevinZang
也許你的意思是寫'i> = 0'而不是'i