0
这里是问题:Java中的for循环?
编写一个方法stutter,它将一个String的ArrayList作为参数,并用两个字符串替换每个字符串。例如,如果列表在调用该方法之前存储值{“how”,“are”,“you?”},则应该存储值{“how”,“how”,“are”,“are” ,“你?”,“你?”}在方法结束执行后。
我的代码:
public void stutter(ArrayList<String> list){
for(int i = 0; i < list.size() * 2; i+=2){
list.add(i, list.get(i));
}
}
然而,我的代码给出了一个IndexOutofBounds错误。正确的代码应该有for
循环:
for (int i = 0; i < list.size(); i += 2) {
为什么我的代码错了?当我看到正确的答案时,我觉得这是错误的,因为你每次增加i
两次。所以,当你第三次循环时,这不会是什么意思,i
会是4,那会比list.size()是3还要大?
在旁注中,在for
循环中,当您重复循环多次时,list.size()的值是否更改?或者它会在整个for
循环过程中持续保持三次?