二维数组流程?

时间:2014-07-14 05:45:20

标签: java multidimensional-array

我确定这是一个非常愚蠢的问题,但我的家庭作业中的一个问题就是让我失望(不是寻找答案,只是对问题可能提出的问题做了一些澄清)。我的教授倾向于以一种我以前从未听过的方式来讲话的事情,所以这个问题让我感到困惑。

问题是这样的:

Consider the following declarations:
final int carTypes = 5;
final int colorTypes = 6;
double [][] sales = new double[carTypes][colorTypes];

To sum the sales by carTypes, what kind of processing is required?
To sum the sales by colorTypes, what kind of processing is required?

同样,我并没有要求答案,我从来没有遇到过这样的问题,所以希望有人可以指出我正确的问题。提前谢谢。

1 个答案:

答案 0 :(得分:1)

将其视为访问电子表格。行是汽车类型,列是颜色类型。

要获得任何一个的所有值,您将迭代2D数组的某些部分 - 以行主要或列主要方式。

例如,如果我想将特定汽车类型的所有销售额加起来,我会在给定我想要的汽车类型的锚值的情况下遍历结构。

循环看起来像这样:

double sum = 0;
int carTypeDesired = 2;
for(int i = 0; i < sales[carTypeDesired].length; i++) {
    sum += sales[carTypeDesired][i];
}

通过特定颜色类型进行求和也是类似的操作。

如果您想要所有汽车的总数,不依赖于品牌或颜色,那么您将遍历阵列中的所有元素并将它们加在一起。