java - 数组按 5's and 3' 计数,然后添加数组

标签 java

我有 3 个数组 iX、iY 和 iZ,每个数组包含 20 个整数。

iX 增加 5,iY 增加 3,iZ 是两者之和。

for (int i=5; i <=iX.length; i+=5)
{
    iX[i] = i;
    System.out.print (i + "\n");
}

for (int j=3; j <iY.length; j+=3)
{
    iY[j] = j;
}
for (int k=0; k < iZ.length; k++)
{
    iZ[k] = iX[k]+iY[k];
}

当我运行它时,我得到: “线程“主”中的异常 java.lang.ArrayIndexOutOfBoundsException:20 在 Quiz10RTN.main(Quiz10RTN.java:61)"

第 61 行是:iX[i] = i;

我似乎无法让它打印出 20 个数字,因为它似乎将我的 20 个整数的限制视为停止的范围。任何帮助都会很棒,谢谢。

最佳答案

问题在这里

for (int i=5; i <=iX.length; i+=5)
                 ^

没有与 iX.length 匹配的索引在你的数组中。

数组索引以 0 开头,所以如果数组的大小是 n ,那么您只有来自 0 的索引至n-1

您可以使用以下方法来避免异常。但你需要考虑其他方法来实现你的目标。

for (int i=5; i <iX.length; i+=5)

编辑:发表评论I was trying to print out "5, 10, 15, 20, 25...etc"

您可以尝试以下操作

for (int i=0; i <iX.length; i++) {
   iX[i]=(i+1)*5; // now your array become 5,10,15,...      
}

关于java - 数组按 5's and 3' 计数,然后添加数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27008743/

相关文章:

java - 未触发地理围栏(广播接收器)

java - 如何对两个数组进行排序,其中一个数组根据另一个数组的排序进行排序?

java - codenameone 日历组件的生命周期是什么?

java - 有没有更好的方法来添加大量带有附加到数组的独特图像的 JPanel?

java - 摆脱不同类加载器中的 ClassCastException

java - android MultiAutoCompleteTextView - 在其中显示自定义 View

java - 如何到达在 Java 中实现 Runnable 的对象的方法?

java - Spring Boot 连接时 MySQL 崩溃并显示 "buffer overflow detected"

java - 初学者 Java 多线程编程 : Scheduling Difference between Window and Mac

java - Checkstyle "Expected @param tag for ' id'"错误