for循环获取多个值

时间:2013-03-29 09:52:39

标签: java for-loop arraylist

我有一个for循环

for (int i = 0; i < knowledgeD.size(); i++ )
        knowledgeD.get(i).get(0);

        for (int k = 0; k < knowledgeD.size(); k++ )
            knowledgeD.get(k).get(1);

然而,我对如何将for循环的所有结果存储到一个变量我感到非常困惑?

喜欢说例如我这样做

 for (int i = 0; i < knowledgeD.size(); i++ )
        w =knowledgeD.get(i).get(0);

        for (int k = 0; k < knowledgeD.size(); k++ )
            y = knowledgeD.get(k).get(1);

然后在我的toString()中我做

String s = "{true@" + w + " " +"false@"  + w.complement() + "}" + "@" + this.y;

补语()是w分数的补语,在这种情况下为9/11。

这给了我

 {true@135/163 false@28/163}@163/1680}

这太棒了,但那只是数组数组的最后一个值

[[2/11, 11/48], [8/35, 35/288], [16/43, 43/288], [75/152, 19/210], [4/5, 5/16], [135/163, 163/1680]]

如果有人能发光,那将非常感激。基本上,@ true和@ false是一个硬币翻转的概率。

干杯辛 PS w和y的数据类型是BigFractions,它们基本上是分数,这个数据类型在另一个类中。

1 个答案:

答案 0 :(得分:1)

试试这个

只需将下一个值附加到s

即可
StringBuilder str="";

for (int i = 0; i < knowledgeD.size(); i++ )
{
        w =knowledgeD.get(i).get(0);
            y = knowledgeD.get(i).get(1);

    str.append("{true@" + w + " " +"false@"  + w.complement() + "}" + "@" + this.y);
     str.append(" ");
}

在你的toString()方法中,只需致电 s=str.toString();