java SE中main函数能否递归调用?
各位大神java SE中main函数能否递归调用?如何能给个例子。。。。。跪求
[解决办法]
这是基本常识吧。
main不过是个函数(在下主攻的是C,还是习惯叫成函数,其实就是方法的意思),和其它的函数的唯一区别只是作为程序的入口函数,除这点外其它特性与普通函数一样。
既然普通函数能够递归,那main函数有何不可?
举个例子,用main函数递归求阶乘:
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,其实只是一个启动器,或者叫做驱动接口,代码尽量的少比较好。