0

正如您在下面看到的,我有一个名为 costperkm 的变量,通常为 0.08,然后我有一个基于数字的数组,然后是围绕这些数字乘以 costperkm 构建的第二个数组,但我得到了错误;http://puu.sh/2sxi7

Scanner costscan=new Scanner(System.in);
    double costperkm = costscan.nextDouble();

double distarray[] = new double[5];

  distarray[0] = 850;
  distarray[1] = 1000;
  distarray[2] = 1250;
  distarray[3] = 1275;
  distarray[4] = 1350;
  distarray[5] = 2690;

double costarray[] = new double[5];

  costarray[0] = (distarray[0]*costperkm);
  costarray[1] = (distarray[1]*costperkm);
  costarray[2] = (distarray[2]*costperkm);
  costarray[3] = (distarray[3]*costperkm);
  costarray[4] = (distarray[4]*costperkm);
  costarray[5] = (distarray[5]*costperkm);

System.out.print(costarray[0]);
4

3 回答 3

5
double distarray[] = new double[5];

意味着您只有 0-4 个索引,因此:

distarray[5] = 2690;

尝试访问数组外的索引 5。

于 2013-04-02T15:17:55.727 回答
1

您的数组大小为 5 (0,1,2,3,4)。

所以索引会在 0 到 4 之间变化。

您无法访问数组 [5]。它会抛出异常。

于 2013-04-02T15:19:17.407 回答
0

看下面两个表达式:

last_index_of_the_array != length_of_the_array    
last_index_of_the_array == length_of_the_array -1

如果您的数组长度为 5,您的最后一个索引将为 4

于 2013-04-02T15:19:01.593 回答