是我第一次来这里,所以我不知道它是如何工作的,所以对错误感到抱歉。Java初学者 - 在简单代码上的错误
当我们以“aktueller Parameter”的形式给出数字3时,这个函数的结果是什么?
(原文:
Welches的Ergebnis liefert diese了Methode,德恩贝einem Aufruf ALS aktueller参数 德WERT 3übergebenwird
即时消息在德国留学,所以我真的不知道这个英文词汇? :/)
public int m(int p)
{
int result;
if (p == 0)
{
result = 0;
}
else
{
result = 3*p + m(p-1);
}
return result;
}
我已经尝试过了,答案是18,但是当我尝试这样做没有任何程序的答案我找到的是15:
result = 3 * 3 + 3(3-1);
有人能解释我为什么是18而不是15吗?我假设我犯了错误。
预先感谢您。
你误以为'M'和'p' 。它是一个递归代码,计算为'3 * 3 + m(2)',第二部分变为'3 * 2 + m(1)',m(1)= 3,总计为9 + 6 + 3 = 18'。 – AntonH
我认为“aktueller参数”==“实际参数”已经足够接近。 – ajb
谢谢你俩的解释。 @AntonH和ajb – syiannop