计算 ArrayList 中 true 之前的 false 数量 (Java)
Counting the number of falses before a true in an ArrayList (Java)
我正在尝试计算 Java 中 ArrayList 中每个 true 之前的 false 数量。
例如,如果我有 [true, false, false, true, true]
我会得到 [0,2,0]
如果列表末尾的 false 后面没有跟真,则不算数
所以如果我有 [false, true, false, false]
我会得到 [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);
}
但我会得到 [1, 1, 1] [false, true, true, true] 应该 return [1,0,0]
我想当有两个连续的 true 时,我应该重置 incorrect_attempts 计数器,但不知道该怎么做。
感谢任何帮助。谢谢!
当你得到 true 时,你需要将 incorrect_attempts
重置为 0。所以改变这个:
else
falses_before_a_true.add(incorrect_attempts);
至
else {
falses_before_a_true.add(incorrect_attempts);
incorrect_attempts = 0;
}
我正在尝试计算 Java 中 ArrayList 中每个 true 之前的 false 数量。
例如,如果我有 [true, false, false, true, true] 我会得到 [0,2,0]
如果列表末尾的 false 后面没有跟真,则不算数
所以如果我有 [false, true, false, false] 我会得到 [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);
}
但我会得到 [1, 1, 1] [false, true, true, true] 应该 return [1,0,0]
我想当有两个连续的 true 时,我应该重置 incorrect_attempts 计数器,但不知道该怎么做。
感谢任何帮助。谢谢!
当你得到 true 时,你需要将 incorrect_attempts
重置为 0。所以改变这个:
else
falses_before_a_true.add(incorrect_attempts);
至
else {
falses_before_a_true.add(incorrect_attempts);
incorrect_attempts = 0;
}