public class ArrayExercise
{
public static void main(String [] args)
{
int arr[] = { 3,4,14,32,45,61,18,9,38,99,42 };
int sentinel = 42;
int count = 0;
;
for (int i = 0; i < arr.length; i++) {
if (arr[i] != sentinel) {
count++;
}
else {
break;
}
}
System.out.println(count);
}
}
我想用 42 计算数组中所有小于 23 的元素 作为比较值(Sentinel Value)。我被困在如何实现比较的第二部分。目前我的数组只计算不是 42 的元素数。
预期输出为 5,因为 42 之前的元素中有 5 个小于 23(3、4、14、18 和 9)。从我的代码观察到的输出是 11。
通过哨兵值我的意思是如果数组没有完全填满,当遇到哨兵值 42 时,计数仍应停止。示例:
int arr[] = { 3,42,0 };
这里的预期输出是 3,因为 42 之前的元素中有 3 个小于 23(3、14 和 18)。