gpt4 book ai didi

java - toCharArray,索引越界

转载 作者:行者123 更新时间:2023-12-01 07:54:34 24 4
gpt4 key购买 nike

有人可以告诉我为什么 .toCharArray() 行给出索引越界异常吗?为什么它甚至给字符串索引 0 大小 0 异常?我还没有定义字符串数组?!

另外,这段代码应该在 O(n) 时间内运行,对吧?

import java.util.ArrayList;
import java.util.List;


public class FirstNonRepeating {


public static List<Character> list = new ArrayList<Character>();
public static List<Character> list2 = new ArrayList<Character>();

public static String res(String x) {
char[] y = x.toCharArray();

for(char c:y){
list2.add(c);
if(list.contains(c)){
list2.remove(c);
}
else{
list2.add(c);
}
}

if(list2.isEmpty()){
return "NONE";
}

else return (""+list.get(0));

}

public static void main(String[] args) {

String a="Google";
String z=res(a);
System.out.println(z);
}

}

最佳答案

您的异常在这里:

        if (list2.isEmpty()) {
return "NONE";
} else return ("" + list.get(0));

您检查 list2 是否为空,并尝试从 list 中获取第一个元素,该元素似乎为空并引发异常。将其更改为:

... else return ("" + list2.get(0));

关于java - toCharArray,索引越界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31814382/

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