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 回答