为了账号安全,请及时绑定邮箱和手机立即绑定

判断一下为什么???

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  这个就隔着三个???


正在回答

4 回答

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,",");

            }

        }


0 回复 有任何疑惑可以回复我~

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

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


1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

不知道呀

帮个忙呀

1 回复 有任何疑惑可以回复我~
#1

qq_也许_coqF04 提问者

123
2020-10-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

判断一下为什么???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信