2011-08-18 89 views
0

我有一個對象數組,每個對象都有一個返回布爾值的函數。我需要做的是有一個循環持續運行,直到每個對象在每個對象上調用該函數時返回一個真值。迴路流量控制

編輯:對不起,我不夠清楚,我的意思是我想循環打破,當所有的對象函數返回true。

任何想法?

回答

3

如果我收到了你的問題,你可以這樣做......

do 
{ 
    test = 0; 
    for(all functions) 
    { 
    char test_array[] = function_call(); 
    } 
    int i = 0; 
    for(test_array.length) 
    { 

    if(test_array[i] == true) 
    { 
     count_no_true = i++; 
    } 
    } 
    if(count_no_true == no of function) 
    {test == 1;} 
    else 
    {test == 0;}  
}while(test == 1) 
+0

是的,這可能是工作。謝謝。 –

3

的Java風格的語法:

boolean good; 
while (true) { 
    good = true; 
    foreach (MyObject o : myArray) { 
     if (!o.someFunction()) { 
      good = false; 
      break; 
     } 
    } 
    if (good) break; 
} 

我的解讀是,這意味着需要每個對象都帶有它的功能評估,以真正的每一次,一旦他們都評價爲真跳出循環。