有一种构建力量的方法。
public static double raisedToPower(double a, double b) {
return Math.pow(a, b);
}
求值方法可以返回 NaN 和 Infinity 值,这可以在调用时中断程序。
在我看来,我必须在方法中处理这个问题(如果结果是 Infinity 或 NaN - 返回键,可以在方法外部处理)。这就是问题,我可以返回什么作为 key ,或者有其他方法来处理这种情况吗?
public static double raisedToPower(double a, double b) {
double res = Math.pow(a, b);
if (Double.isNaN(res) || Double.isInfinite(res)) {
return key;
}
return res;
}
最佳答案
这里有两种方法。
- 抛出异常,例如
IllegalArgumentException
并带有类似“这些参数的未定义/不可能结果”的消息。 - 返回特定值,例如
-1
。老式的C方式,但经常用于数学运算。
关于java - Java 计算中处理 NaN 和 Infiniti,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37308482/