题目一描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
问题解析
主要考查代码的完整性、分类讨论思想、基本数据类型的取值范围问题等。
public class Solution {
public double Power(double base, int exponent) {
double temp = 1;
if (exponent > 0) {
for (int i = 1; i <= exponent; ++i) {
temp *= base;
if (temp > 1.7976931348623157E308) {
System.out.println("out of double date range!");
return -1;
}
}
return temp;
} else if (exponent < 0) {
exponent = -exponent;
for (int i = 1; i <= exponent; ++i) {
temp *= base;
if (temp > 1.7976931348623157E308) {
System.out.println("out of double date range!");
return -1;
}
}
temp = 1.0 / temp;
return temp;
} else {
return 1;
}
}
}