给定任何指数(负数或正数)和整数类型的基数,我想计算结果。我正在使用递归:
public static double hoch(double basis, int exponent) {
if (exponent > 0) {
return (basis * hoch(basis, exponent - 1));
} else if (exponent < 0) {
return ((1 / (basis * hoch(basis, exponent + 1))));
} else {
return 1;
}
}
如果指数为负,则返回1.0,但这是错误的。例如hoch(2,-2)应该为0.25。任何想法可能有什么问题吗?
最佳答案
}else if(exponent < 0){
return ((1/(basis*hoch(basis, exponent+1))))
应该
}else if(exponent < 0){
return (1/hoch(basis, -exponent));