关于Java编写a的n次方的问题
本人是菜鸟,没事研究,想写一个方法,接受两个整数作为参数x和n,返回结果为a的n次方,比如inta=namePow(2,3);知道有Math.pow()的数学方法,前两天...
本人是菜鸟,没事研究,想写一个方法,接受两个整数作为参数x和n,返回结果为a的n次方,比如int a=namePow(2,3);
知道有Math.pow()的数学方法,前两天看到有一个关于if语句的递归方法,就是在方法中调用自己,达到计数循环的作用,不知道能不能用这种方法来编写a 的N次方。一时钻了牛角尖,想不明白求各位解答。 展开
知道有Math.pow()的数学方法,前两天看到有一个关于if语句的递归方法,就是在方法中调用自己,达到计数循环的作用,不知道能不能用这种方法来编写a 的N次方。一时钻了牛角尖,想不明白求各位解答。 展开
2个回答
展开全部
public class Test {
public static void main(String[] args) {
System.out.println(pow(2, 10));
}
public static int pow(int m, int n) {
if (n == 1) {
return m;
} else {
return m * pow(m, n - 1);
}
}
}
可以啊,没事瞎研究是个好事。说明你很喜欢编程,快入门了。
追问
return m*pow(m.n-1)每计算一次怎么体现出一次方呢,也没有表达式啊
追答
public class Test {
public static void main(String[] args) {
System.out.printf("pow(2, 10) = %d\n", pow(2, 10));
}
public static int pow(int m, int n) {
if (n == 1) {
return m;
} else {
int pow = pow(m, n - 1);
System.out.printf("pow(%d, %d) = %d\n", m, n - 1, pow);
return m * pow;
}
}
}
递归对初学者来说,是最难理解的。观察一下输出吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询