初學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;
        }
}
 
沒有留言:
張貼留言