java - For循环获取多个值

标签 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;

其中,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/

相关文章:

java - 使用迭代器的 ArrayList 的不同值的 ArrayList

java - 如何从两个数组列表中删除公共(public)值

java - 在 MAC 上运行 wiremock.jar 时出现 "Failed to load class org.slf4j.impl.StaticLoggerBinder"错误

java - 如何在准备好的语句上设置参数列表?

java - 难以理解 FOR 和 WHILE 循环

Python:函数在 for 循环中未接收值

for-loop - 您如何遍历函数产生的所有值?

JavaFX : Remove the scene loaded in Center of BorderPane

java - Spring Security 中的 AuthenticationFilter 中需要 "normal"是 `ConfigurationAttribute` 吗?

java - java中使用subList对数据进行分区