查找数组Java的总和

时间:2013-11-28 15:29:07

标签: java

我在各处搜索过,似乎无法找到解决问题的方法。我有一个数组,其中包含我的随机行走落在指定位置的次数。现在我需要找到这个数组的总和,但由于某种原因,总和总是给出1000 :(

int[] hx;
hx = new int[1000];
int hx_sum = 0;
for (int i = -500; i < 500; i++) {
   hx[i+500] = totals.get(i);
}
for(int w = 0; w < 1000; w++){
   hx_sum += hx[w];
}
System.out.print(hx_sum);
}

我的hx_sum的结果总是= 1000。

1 个答案:

答案 0 :(得分:4)

您执行1000步(NBR_WALK),并在每个步骤中增加哈希映射中的一个点。地图在之前全部为0初始化。

快速提问:1000个增量的总和是多少?

你看到错误吗?这不是一个真正的错误,只是在数学上确定不可能有不同的结果。

如果你没有看到它,我建议你拿一个骰子,扔掉它10次,每次增加数字元素对应的数字(你可以在纸上绘制)。在开始之前使用全0初始化数组。 然后计算数组的总和。它只能是10。

这可能看起来像:

Dice      1s         2s      3s     4s     5s    6s
  1      x
  5      x                                 x
  3      x                   x             x
  1      xx                  x             x

现在计算最后一行中的x。 4,因为你掷骰子4次,每次你加1 x。此外,在每一行中,前一行中只有一个x。因此,在1000轮之后你将获得1000 x。