计算ArrayList(Java)中true之前的falses数

时间:2015-06-29 22:58:58

标签: java arraylist count

我试图在Java中的ArrayList中计算每个true之前的falses数。

例如,如果我有[true,false,false,true,true] 我会得到[0,2,0]

如果列表末尾的false后面没有true,则不计算

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

我试过了:

private bool IsItemClickDisabled;

private void TextTapped(object sender, TappedRoutedEventArgs e)
{
   IsItemClickDisabled = true;
   //TODO: Your tap event handler

   e.Handled = true;
}

private async void ItemClickHandler(object sender, ItemClickEventArgs e)
{
   IsItemClickDisabled = false; //Reset each time
   await System.Threading.Tasks.Task.Delay(TimeSpan.FromMilliseconds(1));
   if (!IsItemClickDisabled)
   {
      //TODO: ItemClick handler
   }
}

但我会[[1,1,1]得到[假,真,真,真]这应该返回[1,0,0]

我认为我应该在有两个连续的trues时重置incorrect_attempts计数器,但不知道该怎么做。

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

当你得到真的时,你需要将incorrect_attempts重置为0。所以改变这个:

        else
            falses_before_a_true.add(incorrect_attempts);

    else {
        falses_before_a_true.add(incorrect_attempts);
        incorrect_attempts = 0;
    }