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

转不过来了*******思路是一样的,我也想要它每次减3,怎么结果是这样呢,求大佬指点

转不过来了*******思路是一样的,我也想要它每次减3,怎么结果是这样呢,求大佬指点https://img1.sycdn.imooc.com//5c877b820001fc3604900417.jpg

https://img1.sycdn.imooc.com//5c877b8900011c7f02910135.jpg


正在回答

7 回答

因为循环一次后,str插入了一个“,”号,所以长度加了1

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

酥v哒哒 提问者

嗯嗯 thank you~~~~~ 小心心
2019-03-12 回复 有任何疑惑可以回复我~

我一开始也是这种思路,我是这么改的

int bound = str.length()/3;

for(int i=1;i<=bound;i++) {

str.insert(str.length()-4*(i-1)-3, ",");

}

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

在循环外声明变量等于原始数组长度

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

        // 从后往前每隔三位插入逗号

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

    str.insert(i,",");

}


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

直接从后往前,每次i-3就不会错了呀

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

for后面的i不一定是i++;只要给它一个符合题目的变化量都可以

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

每次循环了之后,str.length()就多了1

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

举报

0/150
提交
取消

转不过来了*******思路是一样的,我也想要它每次减3,怎么结果是这样呢,求大佬指点

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