/** * @Name: * @Description: * @Author: Allen */ public class PowerCalculate16 { public static void main(String[] args) { Solution16 solution16= new Solution16(); System.out.println(solution16.Power(3.4, -2)); } } class Solution16 { public double Power(double base, int exponent) { if(base==0 && exponent<0){//底数为0,抛出异常 throw new RuntimeException("0 can not be denominator"); } int absNum=exponent; if(exponent<0)//考虑到指数为负数的情况 absNum=-exponent; double result=calculatePower(base,absNum); if(exponent<0) result=1/result; return result; } private double calculatePower(double base, int exponent){ double result=1; for(int i=1; i<=exponent; i++){ result*=base; } return result; } }