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

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

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

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

第一次 在2位插入

012,3456789

现在已经变了

下次应该在6位插入

012,345,6789



正在回答

2 回答

如果是正序插入,则第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++;

}




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

代码及执行过程如下:

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

后面的依次类推

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

ENCOUTER

人家问的是正序插入啊 从后往前插不影响,但是从前往后就不一样了呀
2015-04-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号