2014-04-08 336 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]