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 ループのすべての結果を 1 つの変数に格納する方法について、私は大いに混乱しています。

たとえば、私はこれを行います

 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 は、コイントスが表または裏になる確率です。

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 に答える