答案 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));
}
}