[英]Inserting items at a specific index in an array - IndexOutOfBounds exception
[英]IndexOutOfBounds with array
每次我尝试运行此方法
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;
}
从0开始索引。
在Java中,数组索引从0开始。
因此,要访问第k个元素,您需要指定第(k-1)个数组的索引。
另外,如果您的数组大小为n,则意味着索引从0到n-1。
最后,这解决了您的问题:
private void resetOdds() {
mOdds[0] = 0.10;
mOdds[1] = 0.25;
mOdds[2] = 0.35;
mOdds[3] = 0.30;
}
数组基于0。 尝试:
private void resetOdds() {
mOdds[0] = 0.10;
mOdds[1] = 0.25;
mOdds[2] = 0.35;
mOdds[3] = 0.30;
否则,当您查找“ 4”时,由于没有第5个元素,则会出现错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.