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;
我希望它能够正常工作而不会崩溃,但我得到了这个:&#34;线程中的异常&#34; main&#34; java.lang.ArrayIndexOutOfBoundsException&#34;在这一行:
System.arraycopy(s,0,ret,1,n);
我不知道为什么,欢迎任何帮助。
答案 0 :(得分:5)
我想你想要
System.arraycopy(s, 0, ret, 1, s.length);
目前,您正在尝试从n
复制s.length + 1
(等于s
)元素。