2015年6月26日 星期五

[Java]如何撰寫X的Y次方函數

初學JAVA不到一個月就有同學在問這個問題
然後呢過一陣子在網路上又連續遇到兩個人在問這個問題

其實這個方法在Math類別裡面有一個函數可以處理
不過通常這個題目是為了訓練初學者使用迴圈跟建立方法的訓練
雖然整數的整數次方可以簡單的用迴圈處理,可是如果輸入的參數是double就可能還要處理浮點數不精確的問題,難度就會大幅提升了

所以這邊只列出整數的整數次方
我將程式碼以及測試碼一起打在下面



public class demo {



        public static void main(String[] args) {

  //使用自己建的函數

                System.out.println(power(3,2));//3的2次方

                System.out.println(power(2,5));

  //使用java內建函數

                System.out.println(Math.pow(3, 2));

                System.out.println(Math.pow(2, 5));



        }



        public static double power(int x,int y){



                double result = 1;



                if(y>=1){



                        for(int i=0;i<y;i++){



                                result = result *x;

                        }



                }else {



                        for(int i=0;i>y;i--){



                                result = result /x;



                        }

                }

                return result;

        }



}

沒有留言:

張貼留言