我有一个数组:{0,0,1,0,0,1,1}
我想计算1之前有多少0 在0之前有多少1,
抱歉,如果基本上不清楚的话 它应该打印:2,1,2,2(2个零,1个,2个零,2个)
我需要重置计数器,但我不知道该怎么做
谢谢
public static void main(String[] args) {
int tab[] = { 0, 0, 1, 0, 1, 1 }; //
int count0 = 0;
int count1 = 0;
for (int i = 0; i < tab.length; i++) {
if (tab[i] == 0) {
count0 = count0 + 1;
} else {
count1 = count1 + 1;
}
}
System.out.println(count0 + "\t" + count1);
// prints 4 3
// want it to print 2 1 2 2
}
}
答案 0 :(得分:0)
当值从0更改为1或从1更改为0时重置。 而且最后也是。
for (int num : tab) {
if (num == 0) {
count0++;
if (count1 > 0) {
System.out.println(count1);
count1 = 0;
}
} else {
count1++;
if (count0 > 0) {
System.out.println(count0);
count0 = 0;
}
}
}
System.out.println(Math.max(count0, count1));