当前位置: 首页 > 面试题库 >

ArrayList:IndexOutOfBounds异常问题

方波娃
2023-03-14
问题内容

我正在编写一个查找素数的程序。我将素数和所有正整数(现在到100)存储为两个ArrayList<Integer>。这是代码:

import java.util.ArrayList;
public class PrimeNumbers { 
static ArrayList<Integer> num = new ArrayList<Integer>();
static ArrayList<Integer> prime = new ArrayList<Integer>();
public static void main(String[] args) {
    prime.add(2);
    prime.add(3);
    prime.add(5);
    for (int z = 1; z<=100; z++){
        num.add(z);
    }
    outer: for (int a = 1; a <=num.size(); a++){
        inner: for (int b = 1; b <=prime.size(); b++){
            if (num.get(a)%prime.get(b) != 0){//line 14
                if (prime.indexOf(b)+1 == prime.size()){
                    prime.add(a);
                    continue outer;
                }
                else 
                    continue inner;
            }
            else
                continue outer;
        }
    }
    System.out.println(prime);

    }
}

但是,当我运行该程序时,出现以下错误:

线程“主”中的异常java.lang.IndexOutOfBoundsException:索引:3,大小:3 at
java.util.ArrayList.rangeCheck(ArrayList.java:653)at
java.util.ArrayList.get(ArrayList.java:429)
PrimeNumbers.main(PrimeNumbers.java:14)

怎么了?


问题答案:

列表索引从0到size()-1,但从1到size()



 类似资料:
  • 问题内容: 我有一个关于异常处理的问题。考虑以下Java代码段。 我知道这是处理异常的推荐方法。但是我可以通过使用以下代码片段来实现相同的目的。 有人可以告诉我第二种方法的弊端吗? 问题答案: 第二种方法可读性较差。此外,即使“聪明”的窍门是使用instanceof关键字,Pokemon异常处理也永远不会走。无论如何,我不是在取笑或嘲笑您,但最好是编写供人类阅读和维护的代码,而不是计算机。

  • 升级到1.9.3+版本后编译失败 主要明显的就是IpUtils.getIp和request的.state报错。 这是因为从v1.9.3版本开始,对项目进行了一些优化,具体优化内容参考:v1.9.3 (opens new window)和v1.9.4 (opens new window)。 新版本的使用方式,参考JustAuth-demo (opens new window) @RequestMap

  • 我对Java硒有问题。我用它来自动化测试web页面,它的结构非常复杂--大量的元素是动态加载的,html页面中有大量不必要的元素。要使我的测试可靠是很难的。有时页面不能加载,或者我尝试点击还不存在的按钮(当然是类似的方法)。 于是,我用下面这样的方法编写了Util类: 我知道它看起来很糟糕,我还没有重构它,但是method通常在大多数情况下工作良好--在第二个或第三个循环中输入字段被填充。 首先,

  • 问题内容: 我有一个尝试获取某些文件的简单方法。我想测试文件何时不存在,这就是我的问题所在。测试不断失败。 该方法类似于: 在测试中,我尝试了两种单独的解决方案,但均未成功。 使用SO解决方案中建议的新样式 public ExpectedException exception = ExpectedException.none(); @Test public void testPopulateCon

  • 我对指南有问题,有人知道解决方法吗? 看起来指导方针是缺课 找不到以下类:- 单击按钮后的Logcat: 指南问题 XML代码: 建造格拉德尔:

  • 问题内容: 我只是在查看Python FAQ,因为它是另一个问题中提到的。以前从未真正详细地研究过它,我遇到了一个问题:“例外情况有多快?”: try / except块非常有效。实际上捕获异常是昂贵的。在2.0之前的Python版本中,通常使用以下习惯用法: 我对 “捕获异常代价高昂”这一 部分感到有些惊讶。这是否仅是指您实际上将异常保存在变量中的情况,或者通常是所有s(包括上面示例中的一个)的