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

for循环


str.append("jaewkjldfxmopzdm");

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

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

        str.insert(i,",");

(问题:这里的str经过循环应该会带入“,”进入循环吧 那就应该是i=i-4,但是运行结果却不是了,所以循环里insert“,”不会带入str是吗?str还是按照length算吗?)

        

      

正在回答

4 回答

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

    str.insert(i,",");

}这样得出的是从前往后遍历,你把字符串的位数用数组下标来理解就对了。逗号是顺序依次插入进去的,插入完毕之后才会形成一个新的数组。逗号并不会带入到循环体内进行运算。

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

insert ","会改变str的值,循环每执行一次,str就会被插入一个逗号,不明白你说的i=i-4是什么意思,为什么你觉得i会等于i-4

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

动次丶打次 提问者

加入“,”后光标就在逗号后面要继续每隔三位不是要减4位吗?(循环第一次jaewkjldfxmop,zdm 要变成jaewkjldfx,mop,zdm)加上逗号是4位吧 。。。。。。。。。。还是不懂求解
2015-11-13 回复 有任何疑惑可以回复我~
#2

sixGod 回复 动次丶打次 提问者

你的逗号是从后往前加的啊,所以不管你后面加了多少逗号,逗号前面的值一直不变, 如第一次加逗号i=16-3;i>0,所以str.insert(13,','),即在第13位加入一个逗号,你的i是递减,所以第二轮循环时,i=10,i>0;所以在第10位加入一个逗号,以此循环的
2015-11-16 回复 有任何疑惑可以回复我~

56440eb800018e7101670197.jpg

56440eb800018e7101670197.jpg1111111111111


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

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程
意见反馈 帮助中心 APP下载
官方微信