2014-04-08 161 views
0

我必须完成此方法,该方法返回整个月的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;   
}  
+0

您的数据来自哪里?我的意思是:你的数组'max'和'min'都有数据元素,所以这些数据来自哪里?做**你补充?或者是什么? –

回答

1

填充maxmin阵列后,

  1. 启动for循环,这将从0到max.length - 1与计数器变量i
  2. 在循环中调用cdd()方法,方法是传递来自每个数组的当前索引元素,如cdd(max[i], min[i])
  3. 不断增加,从cdd()方法返回sum变量的值,sum += cdd(max[i], min[i]);
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]); 
} 
0

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

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

声明:

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

简单地指出,“对于每个(任意变量)在区间[0,长度),使用执行一些动作我,然后递增一下一个循环”

明白这一点,你有办法增加两个阵列的每个索引(大小相同),即

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