【发布时间】:2015-10-18 18:32:21
【问题描述】:
我试图在循环中的每次迭代中使用 2.4 的增量将值传递到我的数组中。这是我的代码:
import java.util.*;
public class RunningArray {
public static void main(String[] args) {
double [] running = new double [10];
int i;
for (i=0; i<running.length; i+=2.4)
running[i]=i;
System.out.println(running[i]);
}
}
但是当我尝试print (running[i]) 时,我得到了错误
线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 10 在 RunningArray.main(RunningArray.java:26)
谁能解释一下原因?
【问题讨论】:
-
那是因为 2.4 * 10 > 10
-
@SergeyPauk 从来没有那么高。
-
是的,你们都在阅读它,就像它是 Python 一样。 :-) println 在循环运行之后,当 i 达到循环限制时。 i += 2.4 与它无关,即使使用 i++ 也会抛出异常。
-
@carchelhf 您正在使用一个奇怪的增量 (2.4) 创建值 0、2、4、6、8 来访问数组并存储这些值。你写 2.4 的时候有什么想法?
-
@laune 这是对 OP 的简短提示。当然,如果要精确,则应该说
i每次递增2,因此当值变为10时会触发异常。
标签: java arrays indexoutofboundsexception