递归方法运行

时间:2017-09-28 03:48:59

标签: java class recursion

我有一个问题。我试图做一个关于5×6 = 6 + 6 + 6 + 6 + 6的递归问题,例如这样。 我编译时遇到了麻烦。

头等舱如下:

enter image description here

和第二类是:

enter image description here 任何帮助,我将不胜感激。

由于

3 个答案:

答案 0 :(得分:2)

递归调用中的calculator方法应该与其初始定义具有相同的方法签名。您可以将无法编译的行更改为

calculator(number2-1);

calculator(number1, number2-1);

答案 1 :(得分:0)

我可以在你的程序中看到两个问题,

第一个是你粘贴的编译错误,是因为你只传递一个参数,这个参数对于期望两个参数的方法。解决这个变化

calculator(number2-1);

calculator(number1, number2-1);

第二个你已经将第二个数字与1进行了比较,因为当你的数字是5,6时,你的日志中打印的最后一个值将是24而不是30。 而不是

number2>1

使用

number2>0

答案 2 :(得分:0)

public class Assignment2{
public int calculator(int number1,int number2){
    //use math.power insted of recursive
    return Math.pow(number2,number1);
}
}
public class result{
public static void main(String [] args){
   Assignment2 assignment2 = new Assignment2();
   System.out.println(assignment2.calculator(5,6));
}
}