class A1
{
static int count=0;
public static void main(String [] args)
{
System.out.println("Hello guys");
if(count>0)
main();
}
}
这里我得到的错误是实际和形式参数列表的长度不同但是当条件检查条件为假时,为什么它执行main()并且说实际和形式参数列表不同。
答案 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);