0

我有一个 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 是硬币翻转是正面还是反面的概率。

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

4

1 回答 1

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();

于 2013-03-29T10:03:34.300 回答