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

判断一下为什么???

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

    str.insert(i,",");

}   

运行结果是j,ae,wk,jl,df....................为什么这个是隔两个


for(int i=str.length()-3;i>0;i=i-3){

    str.insert(i,",");

}

运行结果是j,aew,kjl,dfx,mop,zdm  这个就隔着三个???


提问者:qq_也许_coqF04 2020-10-21 21:15

个回答

  • weibo_慕少1561742
    2021-04-12 16:54:24

    StringBuilder str = new StringBuilder();

            

    // 追加字符串

    str.append("jaewkjldfxmopzdm");

             int length = str.length();

            for(int i=length-1;i>0;i--){

                if (i%3==0){

                    str.insert(i-2,",");

                }

            }


  • 慕的地5174117
    2020-12-04 17:10:23

    i代表从开头开始数,第i个位置,是从左往右数的。你从左往右插入逗号,从左往右数的时候,逗号就会占一位。

    比如第二次循环时,i=4,应该是在第4位,也就是w后面,但是因为第一次循环,多了一个逗号,第四位就成了e后面。


  • 宝慕林4117178
    2020-11-03 21:24:15

    因为你前面插入了逗号,没插入一次前面的长度length() 是在增加的

  • qq_也许_coqF04
    2020-10-21 21:15:28

    不知道呀

    帮个忙呀