0

配列の合計の平均差を求めています。

私の配列構造は次のとおりです(データベースから取得)。

day、、、、、1_ 2_ 3_4

したがって、5つのアレイがデータベースからどのように取得されるかを確認できます。

たとえば、必要なJavaアルゴリズムは次のとおりです。

1,2,3,4の値をそれぞれ加算するには、次の日にループし(存在する場合)、同じ加算を繰り返します。次に、最終的に、各日の合計間の「平均差」を計算します。

たとえば、サンプルデータをいくつか作成して、わかりやすくしました。

1 (Mon)     135 90  105 150
2 (Tues)    143 86  117 163
3 (Wed)     129 100 140 158

したがって、アルゴリズムが実行する必要があるのは次のとおりです。

135 + 90 + 105 + 150 = 500、

143 + 86 + 117 + 163 = 509、

129 + 100 + 140 + 158 = 527

ただし、唯一の問題は、列1がそれ自体の配列であり、列2、3、4が先行していることです。

「平均増加/減少」を計算します。これは次のようになります。

https://math.stackexchange.com/questions/16554/what-is-average-increase-percentage-and-how-to-calculate-it

Javaに実装する方法がわかりません!どんな助けでもいただければ幸いです。

さらに情報を提供できる場合はお知らせください。

どうもありがとう。

4

2 に答える 2

2

すべての要素にアクセスできるようにするために、まずこの段階に到達しましたか? (あなたの質問を正しく理解できましたか?)

//first for loop loops through the number of days
for (int i = 0; i < day.length; i++)
{   //second for loop loops through all integers in Ith day
    for (int j = 0; j < day[i].length; j++)
    {
        print day[i][j] 
    }
}
于 2012-04-29T20:09:15.310 に答える
1

データベース内のアイテムの場所がわかっているため、次のように動作する可能性があります。

/*Psudeocode:
ArrayList<Integer> firstCol = //get first column
ArrayList<Integer> secondCol = //get second column
....
ArrayList<Integer> nCol = //get n column
*/
ArrayList<Integer> values = new ArrayList<Integer>();
int currentRow;
for(int i=0;i<n;i++)
{
     currentRow = 0;
     currentRow += firstCol.get(i);
     currentRow += secondCol.get(i);
     //etc, etc...
     values.add(currentRow);
}
//At this point, values contains all the sums of the different rows.
//To calculate the average percent change:
//PR= (((Vpresent - Vpast) / Vpast) x 100) / N
for(int i=0;i<values.size() -1;i++)
{
    System.out.println(((values.get(i+1) - values.get(i)) * 100) / (i+1))
}

これが役立つことを願っています。 平均変化率のヘルプ

于 2012-04-29T20:14:09.713 に答える