【问题标题】:function call returns NaN when all types are correct [closed]当所有类型都正确时,函数调用返回 NaN [关闭]
【发布时间】:2019-11-16 09:50:09
【问题描述】:

函数调用不断返回 NaN,当脱离上下文时它可以工作,但在上下文中它不会

我尝试在 double 和 Double 之间更改类型,但无济于事

private Double average(ArrayList<Double> x){
    Double sum = 0.0;
    for(int i = 0; i < x.size(); i++)
        sum += x.get(i);
    return sum / x.size();
}

大多数情况下返回为 NaN

【问题讨论】:

  • 上下文是什么? x 是空的吗?大多数情况是什么?请更具体。
  • 向我们展示一个输入示例,该示例在不应该提供 NaN 输出时提供。
  • 即使x 永远不应该为空,“在上下文中”也可能有其他地方的错误导致它为空。
  • 如果 arraylist 为空,是否可以产生除以零?

标签: java types int double nan


【解决方案1】:

唯一的根本原因肯定是分裂。即x.size() 为0。请在除法真正发生之前检查它以防止它。

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 2012-09-21
    • 2014-06-03
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    相关资源
    最近更新 更多