2013-03-29 49 views
0

我有一個for循環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循環到一個變量我想所有的結果majorly混淆?

喜歡比方說我做這個

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 = "{[email protected]" + w + " " +"[email protected]" + w.complement() + "}" + "@" + this.y; 

哪裏補()是在W部分的補充,在這種情況下,9/11。

這給了我

{[email protected]/163 [email protected]/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是coinflip正面或反面的概率。

Cheers Sim PS w和y的數據類型是BigFractions,它們基本上是分數,這個數據類型在另一個類中。

+0

在你的toString()中哪個類? (注意:你可以關閉[你的其他問題](http://stackoverflow.com/q/15699445/1225328):) – sp00m

回答

1

試試這個

下一個值就追加到人就像這樣

StringBuilder str=""; 

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

    str.append("{[email protected]" + w + " " +"[email protected]" + w.complement() + "}" + "@" + this.y); 
    str.append(" "); 
} 

而在你toString()方法只需調用 s=str.toString();

+3

在這種情況下使用'StringBuilder'會更好,以避免創建新的每個附加操作的'String'。 – niculare

+0

@niculare耶really..I'll根據您的建議 – Pragnani

+0

嗯謝謝,我覺得它的工作讓我仔細檢查,儘管我修正了一些東西了 – Sim