我制作了一个小程序,随机选择一个给定的单词,然后将其洗牌。该程序给我正确的结果,但我得到一个IndexOutOfBoundsException。我如何解决它。我认为问题是从第16行开始向下。
{{1}}
答案 0 :(得分:2)
Java集合和数组被编入索引0 - 大小 - 1.您将循环从0开始 - 集合的大小导致超出范围的异常。
从此更改此循环。
for (int p=0;p<=lnk.size();p++)
到此
for (int p=0;p<lnk.size();p++)
修改强>
删除此循环:
for (int i=0;i<=endNum;i++)
否则你会洗掉两个“泡泡”字样。以及“摄像机”的三个字。
答案 1 :(得分:0)
变化:
for (int p=0;p<=lnk.size();p++) {
char addLet=lnk.get(p);
String wholeWord=""+addLet;
System.out.print(wholeWord);
}
为:
for (int p = 0;p < lnk.size();p++) {
char addLet=lnk.get(p);
String wholeWord=""+addLet;
System.out.print(wholeWord);
}
我已从=
移除了<=
,因为如果你一直迭代到lnk.size()
,你就会超出数组的范围,