我想寫這需要字符串的ArrayList作爲參數的方法,並且放置四個星號的字符串長度的每個字符串的前4寫作與字符串的ArrayList的方法作爲參數
然而,在我的代碼,我在我建立我的方法的方式得到一個錯誤。
這裏是我的標記長度類
import java.util.ArrayList;
public class Marklength {
void marklength4(ArrayList <String> themarklength){
for(String n : themarklength){
if(n.length() ==4){
themarklength.add("****");
}
}
System.out.println(themarklength);
}
}
而下面是我的主類:
import java.util.ArrayList;
public class MarklengthTestDrive {
public static void main(String[] args){
ArrayList <String> words = new ArrayList<String>();
words.add("Kane");
words.add("Cane");
words.add("Fame");
words.add("Dame");
words.add("Lame");
words.add("Same");
Marklength ish = new Marklength();
ish.marklength4(words);
}
}
在這種情況下
從本質上講,它應該運行,因此增加了一個ArrayList與"****"
串放置在陣列列表的每一個元素之前,因爲字符串的長度都是4,
BTW
這包括添加其他元素
的我不知道我哪裏錯了。可能在我的循環?
我得到了以下錯誤:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at Marklength.marklength4(Marklength.java:7)
at MarklengthTestDrive.main(MarklengthTestDrive.java:18)
非常感謝你。幫助表示讚賞。
請發表您的錯誤也是如此。 – Makri
閱讀'List#add'的javadoc。然後查找它的重載方法。 –
您正試圖修改爲該foreach循環創建的臨時變量:http://stackoverflow.com/questions/85190/how-does-the-java-for-each-loop-work,http:// docs。 oracle.com/javase/1.5.0/docs/guide/language/foreach.html – MirroredFate