使用递归,类和函数编写阶乘程序。
显示错误:未捕获的错误:调用未定义的函数fact()
class factorial{
public function fact($n){
if($n==1){
return 1;
}
else{
return $n*fact($n-1);
}
}
}
$obj= new factorial();
$print=$obj->fact(3);
echo $print;
答案 0 :(得分:1)
错误出现在第11行,即;
return $n*fact($n-1);
在此方法事实未正确调用。您必须使用$ this运算符在任何方法上调用该类中的函数。
因此,您只需将其更改为$this->fact($n-1)
为方便起见,我在下面提供了整个修订后的代码,请看一看。
<?php
//Enter your code here, enjoy!
class factorial{
public function fact($n){
if($n==1){
return 1;
}
else{
return $n*$this->fact($n-1);
}
}
}
$obj= new factorial();
$print=$obj->fact(3);
echo $print;
您可以在以下链接中查看工作的代码:TimePicker