Java 带数组的索引自动边界
每次我尝试运行此方法时Java 带数组的索引自动边界,java,android,Java,Android,每次我尝试运行此方法时 private void resetOdds() { mOdds[1] = 0.10; mOdds[2] = 0.25; mOdds[3] = 0.35; mOdds[4] = 0.30; } 我得到一个IndexOutOfBounds错误。我不知道为什么,因为我在数组中提供了足够多的项来更改: private final double[] mOdds = { 0.10, 0.25, 0.30, 0.35 }
private void resetOdds() {
mOdds[1] = 0.10;
mOdds[2] = 0.25;
mOdds[3] = 0.35;
mOdds[4] = 0.30;
}
我得到一个IndexOutOfBounds错误。我不知道为什么,因为我在数组中提供了足够多的项来更改:
private final double[] mOdds = { 0.10, 0.25, 0.30, 0.35 };
有人知道我为什么会出现这个错误吗?你的索引被关闭了一次;它应该从0开始:
mOdds[0] = 0.10;
mOdds[1] = 0.25;
mOdds[2] = 0.35;
mOdds[3] = 0.30;
将代码更改为:
private void resetOdds() {
mOdds[0] = 0.10;
mOdds[1] = 0.25;
mOdds[2] = 0.35;
mOdds[3] = 0.30;
数组在Java中是基于零的
private void resetOdds() {
mOdds[0] = 0.10;
mOdds[1] = 0.25;
mOdds[2] = 0.35;
mOdds[3] = 0.30;
}
private void resetOdds() {
mOdds[0] = 0.10;
mOdds[1] = 0.25;
mOdds[2] = 0.35;
mOdds[3] = 0.30;
}
以0开始索引。数组基于0。尝试:
private void resetOdds() {
mOdds[0] = 0.10;
mOdds[1] = 0.25;
mOdds[2] = 0.35;
mOdds[3] = 0.30;
否则,当您查找4时,由于没有第5个元素,因此会出现错误。在Java中,数组索引从0开始 因此,要访问第k个元素,需要给出数组的k-1th索引 此外,如果数组大小为n,则意味着您的索引从0运行到n-1 最后,这解决了您的问题: