Java 7、62バイト
int c(boolean[]a){int r=0;for(boolean b:a)r=b?r+1:0;return r;}
未ゴルフ&テストコード:
ここで試してみてください。
class M{
static int c(boolean[] a){
int r = 0;
for (boolean b : a){
r = b ? r+1 : 0;
}
return r;
}
public static void main(String[] a){
System.out.print(c(new boolean[]{}) + ", ");
System.out.print(c(new boolean[]{ false }) + ", ");
System.out.print(c(new boolean[]{ true }) + ", ");
System.out.print(c(new boolean[]{ false, true, true, false, false }) + ", ");
System.out.print(c(new boolean[]{ true, true, true, false, true }) + ", ");
System.out.print(c(new boolean[]{ true, true, false, true, true }) + ", ");
System.out.print(c(new boolean[]{ false, false, true, true, true }) + ", ");
System.out.print(c(new boolean[]{ true, true, true, true, true, true }));
}
}
出力:
0, 0, 1, 0, 1, 2, 3, 6
01100
?