【发布时间】:2017-04-30 11:46:54
【问题描述】:
我们编写了
power的递归版本,它接受一个双精度x和一个整数n并返回x^n。现在编写一个迭代方法来执行相同的计算。
如何计算数字的幂?我的代码一遍又一遍地打印结果,我不知道为什么。
public class seventhree {
public static void main(String[] args){
Scanner in= new Scanner(System.in);
int x;
int n;
System.out.print("Type in a base: ");
x= in.nextInt();
System.out.print("Type in an exponent: ");
n= in.nextInt();
while(n>=2){
System.out.println((x)*(n));
System.out.println();
}
}
}
【问题讨论】:
-
由于
n在 while 循环内没有变化,因此条件始终为真。 -
你所拥有的是一个无限循环。只要
n至少为2,它就会继续运行,并且循环中的任何内容都不会改变n,因此它永远不会结束。另外,您所写的与计算功率无关。另外,fix your indentation。没有理由让代码看起来像那样。
标签: java