2015-06-29 23 views
-3

我想在Java中的ArrayList中的每個true之前計算False的數量。在ArrayList(Java)中計算true之前的False數量

舉例來說,如果我有[真,假,假,真,真] 我會得到[0,2,0]

,如果假以列表的末尾後面沒有一個真正的,那就不能算

所以,如果我有[假的,真的,假的,假] 我會得到[1]

我嘗試這樣做:

int incorrect_attempts = 0; 
     ArrayList<Integer> falses_before_a_true = new ArrayList<Integer>(); 

     for (int i=0;i<=attempts_list.size()-1;i++){ 
      if (attempts_list.get(i).equals("false")) 
       incorrect_attempts++; 
      else 
       falses_before_a_true.add(incorrect_attempts); 


     } 

b我會得到[1,1,1]爲[假,真,真,真]應該返回[1,0,0]

我想我應該重置incorrect_attempts計數器,當有兩個連續的trues,但不知道該怎麼做。

任何幫助表示讚賞。謝謝!

+1

好!這是一個願望還是你寫了一些代碼? –

+0

感謝您的留言,@JunedAhsan。我添加了我正在嘗試修復的代碼。 – Fate

+0

抓住了你的錯誤...檢查我的答案 –

回答

0

當您得到true時,您需要將incorrect_attempts重置爲0。因此,改變這種:

 else 
      falses_before_a_true.add(incorrect_attempts); 

else { 
     falses_before_a_true.add(incorrect_attempts); 
     incorrect_attempts = 0; 
    } 
相關問題