返回计算总和的数组

时间:2014-04-08 05:01:09

标签: java arrays

我必须完成这个方法,它返回一个月内CDD计算的总和。我用来计算总和的我的cdd方法首先在下面。我可以提一下如何解决这个问题吗?我对阵列很困难,我不确定如何开始。

public static double cdd(int max, int min)
{
    double average = ((max + min) / 2.0);
    double cdd = 0.0;

    if (average > 65.0)
    {
        cdd = average - 65.0;
    }
    else
    {
        cdd = 0.0;
    }

    if (max == -999 || min == -999)
    {
        cdd = 0.0;
    }
    else if (max < min)
    {
        cdd = 0.0;   
    }

    return cdd;


public static double monthCdd(int[] max, int[] min)
{
    double sum = 0.0;

    max = new int[31];
    min = new int[31];
    cdd(,);


    return sum;        
}    

3 个答案:

答案 0 :(得分:1)

填充maxmin数组后,

  1. 使用计数器变量for启动max.length - 1循环,该循环将从0到i
  2. 通过传递每个数组中的当前索引元素来循环调用cdd()方法,如cdd(max[i], min[i])
  3. 继续将cdd()方法返回的值添加到sum变量sum += cdd(max[i], min[i]);

答案 1 :(得分:0)

您可能想要这样做:

final int length= 31;
double sum=0.0
max =new int[length];
min= new int[length];
//add code to initialize the arrays
for(int i=0;i<length;i++) {
  sum +=cdd(min[i],max[i]);
}

答案 2 :(得分:0)

好吧,如果你在使用数组,那么我建议的第一件事就是在Java中使用迭代器。

在伪中,该方法应对两个数组的每个索引执行基本操作。访问两个数组的内容将需要一个迭代器“逐步”遍历数组的每个索引,从0开始并以最后一个索引结束(因此其他人建议声明静态长度)。

声明:

for (int i = 0; i < length; i++) {

简单地说明“对于每个(任意变量) i 在区间[0,长度]上,使用 i 执行某些操作,然后递增 i 一个用于下一个循环“

理解这一点,你就可以添加两个数组(相同大小)的每个索引,即

sum += arr1[i] + arr2[i]