Java - 提升Real To Power n ^ k

cyb*_*b3r 0 java

我在编写程序时难以从Java教科书中解决此练习:

编写一个方法raiseRealToPower,它接受一个浮点值x和一个整数k并返回xk.使用关系x ^( - k)= 1/x ^ k,实现您的方法,以便在k为负时正确计算结果.

使用您的方法显示从-4到4的所有k值的πk值表.

我没有用PI完成这一部分,我知道,如果我的程序开始工作......这就是我所做的...请告诉我,有什么不对.

import acm.program.*;

public class vjezba55 extends ConsoleProgram {

    private static final double PI = 3.14159253;

    public void run() {
        double x = readDouble ("x: ");
        double k = readDouble ("k: ");
        println ("x^k = " + raiseDoublePower(x,k)); 
    }

    /* Method that counts x^k */
    private double raiseDoublePower (double x, double k){
        if (k >= 0) {
            return Math.pow(x, k);
        }
        else {
            double total = 1;
            for (int i= 0; i>k; i--) {
                total = (double) 1 / x;
            }
            return total;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Oli*_*rth 7

看看你的循环代码.您只是total在每次迭代时从头开始重新计算,而不是更新以前的结果.