[英]Why am i getting ArrayIndexOutOfBoundsException
ArrayList<String> al = new ArrayList(Arrays.asList(Answers));
Collections.shuffle(al);
char answer=(char) (al.indexOf(right)+65);
for(int i=0;i<al.size();i++){
al.set(i, ((char)(i+65))+")"+al.get(i));
}
String[] s=al.toArray(new String[al.size()]);
int n = s.length+1;
String[] ret = new String[n];
System.arraycopy(s,0,ret,1,n);
ret[0]=answer+"";
return ret;
I expected it to work and not crash but i am getting this instead:"Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException" on this line: 我希望它能正常工作并且不会崩溃,但是我却得到了它:“”线程“ main”中的异常“ java.lang.ArrayIndexOutOfBoundsException”在此行上:
System.arraycopy(s,0,ret,1,n);
I don't know why and any help is welcome. 我不知道为什么,欢迎任何帮助。
I think you wanted 我想你想要
System.arraycopy(s, 0, ret, 1, s.length);
Currently, you're trying to copy n
(which equals s.length + 1
) elements out of s
. 当前,您正在尝试从
s
复制n
元素(等于s.length + 1
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.