首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >索引越界异常Java索引: 3,大小:3

索引越界异常Java索引: 3,大小:3
EN

Stack Overflow用户
提问于 2015-05-19 12:08:07
回答 1查看 8.6K关注 0票数 0

大家好,在做字谜游戏的时候,我遇到了一个问题,我在仔细检查垂直和水平方向是否都是保存到数组列表中的当前文件中的单词时遇到了问题。

代码语言:javascript
复制
 String letterSize = "" + size;
    makeLetterWordList(letterSize);
    boolean finished = false;
    while ( !finished ) {
        finished = true;
        for (int i = 0; i < size; i++) {
            int randomYWord = randomInteger(wordList.size());
            String item = wordList.get(randomYWord);
            puzzleListY.add(item);
        }
        for (int i = 0; i <= puzzleListY.size(); i++) {
            StringBuilder sb = new StringBuilder();
            for (int j = 0; j <= puzzleListY.size(); j++) {
                sb.append(puzzleListY.get(j).charAt(j));
            }
            randomXWord = sb.toString();
            if (!wordList.contains(randomXWord)) {
                finished = false;
                break;
            } else {
                puzzleListX.add(randomXWord);
            }

        }
    }

产生的错误如下:

代码语言:javascript
复制
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
at java.util.ArrayList.rangeCheck(ArrayList.java:653)

我正在努力寻找代码中的错误,有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2015-05-19 12:09:23

循环应该只到大小为-1

代码语言:javascript
复制
for (int i = 0; i <= puzzleListY.size(); i++) { // remove =

对于其他循环,由于您从索引0开始,并且有n个元素,因此循环应该从0到n-1

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30316594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档