要求:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0
分析:要考虑指数为负数的情况,若为负数,结果取倒数
public static double Power(double base, int exponent){
if(exponent == 0){
// 指数为0时,返回0
return 0;
}
if(exponent == 1){
// 指数为1时,返回它本身
return base;
}
// isNegative判断指数是否为负数
boolean isNegative = exponent<0;
double result = 1;
// 将指数取绝对值
exponent = exponent>=0? exponent:(-exponent);
for(int i=1;i<=exponent;i++){
result = result*base;
}
// 返回时,若指数为负数,则结果取倒数,其他直接输出
return isNegative? 1/result:result;
}
网友评论