我只是试图计算这三个值而不确定将什么作为我的else语句。我把返回,但它只是一直给我一个不兼容的类型错误。我已经尝试将其设置为null,并且NaN但它声明我不能这样做,类型为double。任何帮助表示赞赏。
public static double getE(int i) {
double e = 1, x=1;
for(i = 1; i <= 100000; i++){
x=x/i;
if (i == 10000) {
return x;
}
else if (i == 20000) {
return x;
}
else if (i == 100000) {
return x;
}
return;
}
}
答案 0 :(得分:0)
非数字(NaN)包含double
类型的值,该值等同于Double.longBitsToDouble(0x7ff8000000000000L)
返回的值: -
public static final double NaN = 0.0d / 0.0;
因为在你的情况下,你使用的是原语类型double
(它只是数据而不是对象,因此也不能是null
),你可以通过将return
更改为
return 0.0d;
并确保它在for循环之外
for (i = 1; i <= 100000; i++) {
x = x / i;
if (i == 10000) {
return x;
} else if (i == 20000) {
return x;
} else if (i == 100000) {
return x;
}
}
return 0.0d; // default value, in case the for loop wasn't executed
答案 1 :(得分:0)
你的代码
public static double getE(int i) {
double e = 1, x=1;
for(i = 1; i <= 100000; i++){
x=x/i;
if (i == 10000) {
return x;
}
else if (i == 20000) {
return x;
}
else if (i == 100000) {
return x;
}
return;
}
}
严格等同于
public static double getE(int i) {
return;
}
并且i
输入参数未使用。
你想要实现什么目标?