循环内变量的改变方式为什么是i=i-3而不是i=i-4?每次循环后字符串都多加了一个字符啊,为什么变量改变方式还是i-3?
i= i-3 可以理解为每循环一次,定位的位置向前移动三个,并在此位置加一个逗号。
每加一个字符,字符串的长度加一,可以理解为字符串向后张长了一位(贪吃蛇既视感~),但 i 所定位的位置是向前移动的,i 所在位置的前面的字符所在位置都没有发生改变。所以每次减3(向前移动三个位置)没问题啊。但如果题目要求是从左到右加逗号就稍微麻烦了……
for(int i=3;i<str.length();i=i+4){
str.insert(i,",");
从左向右加逗号的