我在尝试从Java数组中删除所有0值时遇到一些问题,该数组是预定义的,最大数量为50。如果用户输入10个值,则表中始终有40 x 0 。
我正在尝试查找不包含0值的该数组的长度,因此该数组的长度应仅由值1和以上定义。
这是我的代码片段。
double[] storedValues = {32.0,42.4,34.5,32.4,0,0,0,0,0,0,0,0,0,0...}
arrayLength = storedValues.length;
当前,arrayLength将返回“ 50”,因为这是我的数组的预定义大小。我试图使此返回“ 4”,因为在此数组中只有4个值超过0。
任何帮助深表感谢。
最佳答案
流storedValues
,过滤大于0
的元素,然后计数。喜欢,
int count = (int) Arrays.stream(storedValues).filter(d -> d > 0).count();
或者,循环计算自己
int count = 0;
for (double d : storedValues) {
if (d > 0) {
count++;
}
}