0

如何在当前循环中使用上一次迭代中的值?我正在生成 adouble [] v并想做v - ww 是上一次迭代中 v 的值。显然我需要为 2 个数组实现减法。

if (!e.getValueIsAdjusting()) 
                {
                    double[] v = new double[uaCount.get(table.getValueAt(table.getSelectedRow(),0)).singleValues.size()];
                    int i = 0;
                    for(Long j : uaCount.get(table.getValueAt(table.getSelectedRow(),0)).singleValues) 
                    {
                      v[i++] = j.doubleValue();
                    }
                    double [] w, r;
                    //implement r = v-w
                    System.out.println(String.valueOf(uaCount.get(table.getValueAt(table.getSelectedRow(),0)).singleValues));
                    dataset.addSeries("Histogram",r, 1000, 0, 120000);  
                }

这样做的目的是在我的直方图中添加一个新数据集,同时摆脱以前的直方图。现在我想多了,减去这些值会给我不同的答案,对吧?

4

3 回答 3

3

如何在当前循环中使用上一次迭代中的值?

只需将循环的当前值保存为循环previous末尾的最后一行。
在您重新输入时循环的第一行中,previous具有先前的值

于 2013-04-24T20:18:02.457 回答
1

在循环外声明一个变量来保存它

int val;
int prev;

for(int i=0; i<n; i++)
{
    //do stuff with val
    ...
    prev = val;
}
于 2013-04-24T20:18:20.213 回答
0

从您的解释中假设您的要求是执行以下操作:

for(initialization;condition;increment){
curr[i] = i;//holds your current ittration value
if(prev != null){
//do some operation
//these extra things can also be done by cure[i-1] instead of using extra variable just    //check if i>0 then get the previous value from your curr array and perform operation //accordingly
}
prev = curr[i];
}

方法2:根据其他用户的建议,您可以使用更简单的集合框架。

于 2013-04-24T20:49:36.480 回答