日期:2014-05-20  浏览次数:20868 次

Java递归调用程序 有什么问题么
public class JavaApplication1 { 
  public static void main(String[] arg) {  
  System.out.println(methld(5));  
  }
  public static int methld(int n){
  if(n == 1){ return 1 ;} //这两行提示有问题 什么原因啊!  
  else return n*methlod(n-1); //  
  }
   
}  

求指点!



------解决方案--------------------
Java code

public class JavaApplication1 {
    public static void main(String[] arg) {
        System.out.println(method(5));
    }

    public static int method(int n) {
        if (n == 1) {
            return 1;
        } // 这两行提示有问题 什么原因啊!
        else
            return n * method(n - 1); //
    }
}

------解决方案--------------------
两个错误:
1,if后面的括号使用的是中文打出来的,改成英文的
2,return n*methlod(n-1);//这里的methlod多了个o,你的方法名是methld
------解决方案--------------------
程序逻辑是没有错误的,(n == 1)的括号应该改为英文的(n == 1);
else return n*methlod(n-1); 中方法名错了应该为 methld;
把这两处改好就行了!
------解决方案--------------------
如楼上各位所说。。。