for(int i=str.length();i>3;i=i-3 )
抄错了,代码应该是
for (int i = str.length() - 3; i > 0; i -= 3) {
首先,起点不对,从右边往前数每三个字母,你不应该从最开始就处理
其次,终点不对,排除了最后的一个3的值
for (int i = str.length(); i > 0; i -= 3) {