大家好,我有一些我的大脑很难弄清楚的事情。我的作业是养“x”个兔子。它递归地计算兔子耳朵的总数。偶数的兔子有正常的两只耳朵,奇数的兔子有3只耳朵,但每5只兔子就有1只耳朵。我的代码是完整的并且可以工作......在这里......
import java.util.*;
public class bunnies
{
public static int y;
public static void main(String[] args)
{
y = 0;
System.out.println(BunnyEars(3));
}
public static int BunnyEars(int x)
{
if ((x % 5) == 0 && x != 1 && x != 0)
return 1 + BunnyEars(x - 1);
else if ((x % 2) == 0 && x != 0 )
return 2 + BunnyEars(x - 1);
else if ((x % 2) != 0 && x != 0)
return 3 + BunnyEars(x - 1);
else
return 0;
}
}
我的问题是,世界上第一个耳朵如何累积到第二个耳朵等等?我正在考虑为 int y = 0; 命名一个全局变量;接着
if ((x % 5) == 0 && x != 1 && x != 0)
y += 1;
else if ((x % 2) == 0 && x != 0 )
y += 2;
else if ((x % 2) != 0 && x != 0)
y += 3;
else
return 0;
return y + BunnyEars(x -1);
我认为这更有意义,因为 y 正在积累,但事实并非如此。你们能解释一下另一个是如何累积的而不是y吗?谢谢!