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

str插入一个逗号后,长度已经变了,为什么仍旧按照原先的字符长度进行插入呢?

str插入一个逗号后,长度已经变了,为什么仍旧按照原先的字符长度进行插入呢

比如 0123456789每隔三位插入逗号 ,分别是 2,5,8

第一次 在2位插入

012,3456789

现在已经变了

下次应该在6位插入

012,345,6789



提问者:newbear 2015-02-26 07:33

个回答

  • 明心2018
    2017-09-13 01:00:21

    如果是正序插入,则第1次插入的index为3,第2次是(3+1)+3, 第三次是((3+1+3)+1)+3... 

    程序为:

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

        str.insert(i,',');

        i++;

    }




  • 偌颜宁
    2015-02-26 10:07:52

    代码及执行过程如下:

    for(int i = str.length()-3; i >=0 ; i=i-3){
        str.insert(i,",");   
    }

    如果str = "0123456789":

    在第一次执行的时候i = str.length()-3,那么此时i的值为10-3等于7,那么加入逗号的时候,会在7的位置加入运行结果后应该是0123456,789

    在第二次执行的时候会执行i=i-3这条语句,那么此时i的值为7-3等于4,那么加入逗号的时候,会在4的位置加入,运行结果应该是0123,456,789

    后面的依次类推