当前位置: 首页 > 知识库问答 >
问题:

尝试添加数组列表

谢涵亮
2023-03-14

我将 0 到 1000 之间的所有数字相加,这些数字是倍数或 3 和 5。我只是在将它们加起来时遇到麻烦。我不断收到错误消息:线程“main”java.lang.IndexOutOfBounds异常异常:索引:468,大小:468

我的代码

    //Multiple of 3 and 5 up to 1000
    int total = 0;
    int answer = 0;
    ArrayList<Integer> multof3 = new ArrayList<Integer>();
    for(int i =0; i <=1000; i++){

        if(i % 3 == 0 || i % 5==0){
            multof3.add(i);
            total++;

        }else{
            continue;
        }

    }

    System.out.println(multof3);
    System.out.println(total);

    //looping through array to get sum of elements
    for(int x =0; x <= multof3.size(); x++){
        answer= answer + multof3.get(x);
    }
    System.out.println(answer);

有人知道原因吗?我不明白为什么它不起作用。它打印出数组列表,所以我肯定应该将元素添加在一起……

共有3个答案

单于俊智
2023-03-14

您正在尝试访问ArrayList中最后一个元素之外的元素。改变

<代码>用于(int x=0;x

<代码>用于(int x=0;x

甄伟兆
2023-03-14

更改<代码> for 条件<代码>

for (int x = 0; x < multof3.size(); x++) {
    answer = answer + multof3.get(x);
}

记住索引从0开始。

傅和璧
2023-03-14

循环遍历数组时,您必须记住它是从0开始索引的。

  for(int x =0; x < multof3.size(); x++){
    answer= answer + multof3.get(x);
  }

如果列表中有 468 个项目,则 size() 将返回 468,但最后一项位于索引 467 处。使用增强的 for 循环有助于避免此类问题:

  for(Integer i: multof3){
       answer += i;
  }
 类似资料:
  • 在有趣的功能中,当我将列表添加到其他列表时,它正在添加空列表,我可以找到原因有人可以帮助我这个程序是关于查找给定数组的不同组合

  • 我想在Sokoban游戏中保存我的玩家角色的步骤。首先我想用字符的实际位置填充一个int x和y的数组,称为“pos”。然后我想将这个数组添加到数组的ArrayList中,称为“moves”。 一个玩家位置的阵列: ArrayList为所有步骤,玩家在关卡: 如果将“int[]”放在ArrayList的尖括号内,则会出错。 如何将阵列位置添加到ArrayList移动?

  • 问题内容: 尝试添加另一个列表时抛出List.addAll 。 在循环中,我在做, 从文件中读取 supportType 。 但是第2行抛出一个,但是我无法确定为什么? 我要在列表中添加另一个列表,那么为什么不支持此操作? 问题答案: 返回一个固定大小的列表,该列表由数组支持,并且您不能向其中添加元素。 您可以创建一个可修改的列表以进行工作:

  • 因此,我一直试图在我的android应用程序中添加启动屏幕,但每当我试图运行它时,应用程序总是崩溃。这里是代码`` activity_splash.xml

  • List.addAll在尝试添加另一个列表时抛出。 在循环中我正在做, 从文件中读取支持类型。 但第2行抛出

  • 之前写过一遍博客,记录当时的一个手头的工作,使用PortableBasemapServer 和 terrabuilder 制作MPT,最近想试一试能不能将PBS发布的服务添加到Cesium三维球上,遇到的问题以及解决过程记录如下: 创建本地服务并发布,参考博客使用PortableBasemapServer 和 terrabuilder 制作MPT ,不再赘述 这里我发布的地址为: ArcGis R