[英]Removing all 0 values from Double Array Java
我在尝试从 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++;
}
}
只需使用此代码:
double[] storedValues = {32.0,42.4,34.5,32.4,0,0,0,0,0,0,0,0,0,0};
int arrayLength=0;
for (int i = 0; i < storedValues.length; i++) {
if(storedValues[i] > 0){
arrayLength++;
}
}
//arrayLength 给你 4
这是一个使用流的方法:
Arrays.stream(storedValues).filter(v -> v != 0.0).count()
您可能希望首先避免添加零。 如果它是提示的一部分,那么您需要执行以下操作:
public double[] RemoveZeros(double[] source)
{
return source.Where(i => i != 0).ToArray();
}
这将在数组中搜索零,然后删除它们。 希望这有帮助,伙计。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.