2013-04-24 39 views
0

如何在当前循环中使用前一个迭代中的值?我正在生成double [] v并且想要执行v - w其中w是前一次迭代中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); 
       } 

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

+0

你能告诉我们你到目前为止所尝试过的吗? – Keppil 2013-04-24 20:16:39

+0

使用列表,让您的生活更轻松 – 2013-04-24 20:18:03

+0

您已经询问了一系列[重复问题](http://stackoverflow.com/users/2007843/user2007843)关于此主题的回复此问题(http:// stackoverflow.com/q/16085734/230513)。我列举了几个完整的例子。如[建议](http://stackoverflow.com/a/16176221/230513)所示,您可以“将图中的整个数据集替换”。请编辑您的问题以包含显示您当前方法的[sscce](http://sscce.org/)。使用具有_few_行和列的_small_'TableModel'。 – trashgod 2013-04-24 23:38:48

回答

1

如何在当前循环中使用先前迭代中的值?

只需将循环的当前值保存为previous作为循环结尾的最后一行。
在你当你重新进入循环的第一线,previous有前值

1

声明你的循环之外的一个变量来保存它

int val; 
int prev; 

for(int i=0; i<n; i++) 
{ 
    //do stuff with val 
    ... 
    prev = val; 
} 
0

从你的解释假设你reuirment是做什么如:

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:正如其他用户所建议的,您可以使用更简单的集合框架。

相关问题