剑指offer7:数值的整数次方

题目描述:

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

思路:

要考虑多种情况。如底数为0,指数为负数,则先求绝对值,然后求结果再求倒数。则0的倒数怎么表示。
三种处理错误的方法,
一、函数用返回值告知调用者出错
二、当发生错误时设置一个全局变量
三、异常处理

 1 import java.util.*;
 2 public class Zhengshucifang {
 3 
 4     public double Power(double base, int exponent) {
 5         double result = 1.0;
 6         for(int i = 0; i < Math.abs(exponent);i++){
 7             result *= base;
 8         }
 9         if(exponent>=0){
10             return result;
11         }
12         else {
13             return 1/result;
14         }
15         
16       }
17     public static void main(String[] args) {
18         // TODO Auto-generated method stub
19         Scanner sc = new Scanner(System.in);
20         double base = sc.nextDouble();
21         int exponent = sc.nextInt();
22         sc.close();
23         Zhengshucifang zhengshucifang = new Zhengshucifang();
24         System.out.println(zhengshucifang.Power(base, exponent));
25     }
26 
27 }

 

posted @ 2018-03-14 11:42  zlz099  阅读(138)  评论(0)    收藏  举报