我有一个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;
其中,complement() 是 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,基本上是分数,该数据类型属于另一个类。
最佳答案
试试这个
只需将下一个值附加到 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()
;
关于java - For循环获取多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15700915/