在这项作业中,我必须将pi的数值从-4提高到4。我把它的数值从0很好地提高到4,但是在负数下我有问题。我知道问题是当数字为负数时,程序执行1 / pi,但我无法弄清楚如何解决此问题。
import acm.program.ConsoleProgram;
public class raisRealToPower2 extends ConsoleProgram {
public void run () {
double n = 3.14159;
for (int k = -4; k < 4; k++ ) {
println (n + " exp " + k + " is " + (RaisePi (n, k)));
}
}
private double RaisePi (double n, double k){
double total = n;
for (double i=1; i<k; i++) {
total*=n;
}
if (k>0){
return total;
} else if (k==0) {
return 1.0 ;
} else {
return 1/total;
}
}
}
我会在开头添加一行
if(k < 0) return 1/raisePi(n, -k);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句