当前位置: 代码迷 >> J2SE >> java SE中main函数可不可以递归调用
  详细解决方案

java SE中main函数可不可以递归调用

热度:7812   发布时间:2013-02-25 00:00:00.0
java SE中main函数能否递归调用?
各位大神java SE中main函数能否递归调用?如何能给个例子。。。。。跪求

------解决方案--------------------------------------------------------
这是基本常识吧。

main不过是个函数(在下主攻的是C,还是习惯叫成函数,其实就是方法的意思),和其它的函数的唯一区别只是作为程序的入口函数,除这点外其它特性与普通函数一样。

既然普通函数能够递归,那main函数有何不可?
举个例子,用main函数递归求阶乘:
Java code
public class MainTest {    static int n=10;        static int res=1;        public static void main(String args[]) {        if(args!=null && args.length==1) {            try {                n=Integer.parseInt(args[0]);                n=n<0?10:n;            } catch(Exception ex) {                n=10;            }            res=1;        }                if(n>0) {            res*=n--;            main(null);        } else            System.out.println("Result:"+res);    }}
------解决方案--------------------------------------------------------
在java中 main()方法也是一个方法,只不过跟别的相比有点特殊,它里面也接受了参数(String args[])数组类型的字符数组,只要用于缓冲
------解决方案--------------------------------------------------------
理论上和规则上是允许的,因为main也是那个类的一个静态方法,可以通过 ClassName.main(String[])来调用。
但是原则上是不允许这样干的,因为main,其实只是一个启动器,或者叫做驱动接口,代码尽量的少比较好。
  相关解决方案