for(int i = str.length()-3;i>0;i = i-3)
为什么是在字符串长度减去3的范围?
for一开始运行,判断int i=str.length(),代表i等于长度值,也就是最后一个数,会从这添加"," 然后才开始从后往前每隔三个添加。而str.length()-3,代表i长度倒数第三个,从这正好需要添加","然后从后往前每隔三个添加。 所以-3。
因为最后一个字符位置是str.lengh()-1处,如果字符串后面需要加逗号的话,是str.length处,但是不需要加,逗号又是隔3个位置有一个,所以从后数第一个就应该是str.length()-3
从右往左每隔三个字符添加一个逗号,那么第一个逗号就是添加在右数第四个字符后面,即str.length()-3,可以画出来看下,然后依次减3,即i-3