gpt4 book ai didi

java - 遍历字符数组列表

转载 作者:行者123 更新时间:2023-12-02 02:19:45 24 4
gpt4 key购买 nike

我正在尝试创建一种输入字符串并返回拼写错误的方法(通过删除一些随机字符)。由于某种原因,我的迭代器在 id.remove() 行上给出了空错误。有什么想法吗?

public static String getMissSpelledWord(String str) {
Random random = new Random();
char[] character = str.toCharArray();
String misspelled = new String();


ArrayList<Character> chars = new ArrayList<Character>();
for (int i = 0; i < character.length; i++) {
chars.add(character[i]);
}

for (Iterator < Character > id = chars.iterator(); id.hasNext();) {
int remove = random.nextInt(3);
if(remove == 0) {
id.remove();
}
}

for(char c : chars) {
misspelled += c;
}

return misspelled;
}

最佳答案

您无法调用Iterator.remove()没有调用Iterator.next()(如链接的Javadoc注释从底层集合中删除此迭代器返回的最后一个元素)。只需在循环体中添加一个 id.next() 即可,例如

for (Iterator<Character> id = chars.iterator(); id.hasNext();) {
char ch = id.next(); // <-- add this.
int remove = random.nextInt(3);
if (remove == 0) {
id.remove();
}
}

关于java - 遍历字符数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57283124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com