当我运行下面的代码: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