错误:实际和正式的参数列表长度不同

时间:2014-12-09 19:16:05

标签: java

class A1
{
    static int count=0;
    public static void main(String [] args)
    {
        System.out.println("Hello guys");
        if(count>0)
            main();

    }
}

这里我得到的错误是实际和形式参数列表的长度不同但是当条件检查条件为假时,为什么它执行main()并且说实际和形式参数列表不同。

2 个答案:

答案 0 :(得分:1)

您收到编译错误,因为main采用String数组。

public static void main(String [] args)
{
    System.out.println("Hello guys");
    if(count>0) {
        main(args); // <-- String[] args.
    }
}

将修复您的编译器错误。因为count == 0应该只打印

Hello guys

如果count > 0它将是一个无限递归的循环,最终会以堆栈溢出结束。

答案 1 :(得分:1)

您的main方法需要一个字符串数组。

查看方法签名:

 public static void main(String[] args)

当您调用main时,您需要将正确的参数传递给它。

       main(args);

但是,如果你想创建自己的字符串数组,你可以这样做:

    String[] array = new String[args.length];

    if(count>0)
        main(array);

http://ideone.com/n2GMWw