问答详情
源自:2-6 Java 中的 StringBuilder 类的常用方法

为什么是i-3?而不是i=i-4?

循环内变量的改变方式为什么是i=i-3而不是i=i-4?每次循环后字符串都多加了一个字符啊,为什么变量改变方式还是i-3?

提问者:张小小白 2017-02-12 20:44

个回答

  • 但求糊涂
    2017-02-12 21:38:11
    已采纳

    1. i= i-3 可以理解为每循环一次,定位的位置向前移动三个,并在此位置加一个逗号。

    2. 每加一个字符,字符串的长度加一,可以理解为字符串向后张长了一位(贪吃蛇既视感~),但 i 所定位的位置是向前移动的,i 所在位置的前面的字符所在位置都没有发生改变。所以每次减3(向前移动三个位置)没问题啊。但如果题目要求是从左到右加逗号就稍微麻烦了……


  • Lee丶GX
    2017-02-22 15:09:19

     for(int i=3;i<str.length();i=i+4){

                str.insert(i,",");

    从左向右加逗号的