NPE*_*NPE 22
NaN代表非数字.它可以以多种方式产生,例如,作为结果0./0.,sqrt(-1)或作为计算的结果涉及其他NaNs.
检查是否v为a 的最简单方法NaN是使用Double.isNaN(v):
public static double sum(double arr[]) {
double sum = 0.0;
for (double val : arr) {
if (!Double.isNaN(val)) {
sum += val;
}
}
return sum;
}
Run Code Online (Sandbox Code Playgroud)
编辑: @Stephen C在评论中提出了一个很好的观点:在决定忽略NaN它之前,理解它的来源是明智的.它可能是你的代码中其他地方出现错误的结果,而盲目地忽略了NaN你可能只是掩盖了bug而不是修复它.
| 归档时间: |
|
| 查看次数: |
23186 次 |
| 最近记录: |