首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-10-18 
java SE中main函数能否递归调用?各位大神java SE中main函数能否递归调用?如何能给个例子。。。。。跪求[解决办

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,其实只是一个启动器,或者叫做驱动接口,代码尽量的少比较好。

热点排行