【发布时间】:2024-01-11 20:54:01
【问题描述】:
当 x 为 NaN 时,我试图以字符串格式输出 NaN。但是,当我在 Double.isNaN 为真时尝试返回“NaN”字符串时,控制台会抛出 String cannot be converted to double 错误。我尝试使用 Double.parseDouble() 将字符串 r 解析为双精度,但无济于事。
这是我的代码:
public static double heaviside(double x) {
String r = "NaN";
r = Double.parseDouble(r);
double result;
if (Double.isNaN(x)) return r;
else if (x < 0.0) return result = 0.0;
else if (x == 0.0) return result = 0.5;
else return result = 1.0;
}
控制台输出
ActivationFunction.java:6:错误:不兼容的类型:双精度不能转换为字符串 r = Double.parseDouble(r); ^ ActivationFunction.java:8:错误:不兼容的类型:字符串不能转换为双精度 if (Double.isNaN(x)) 返回 r; ^
【问题讨论】:
-
如果
x是NaN,你为什么不直接返回x? -
我建议你使用像 IntelliJ 或 Eclipse 这样的 IDE。它们在学习一门新语言时非常有用。