我有以下简短程序,编译了Fine(编写并编译在Linux框中)。如果我使用公共静态void main(string [] args)并摆脱返回4;声明它编译并运行正常。使用返回类型,我会收到以下错误(在构建时不在运行时):
我确实必须为此应用程序返回int,我不能使用void类型。
-java helloworld
线程"主线程" Java.lang.nosuchmethoderror中的例外:main
文件名是helloworld.java(构建后的helloworld.class)。
是什么原因导致了这个问题?谢谢!
我尝试了更改,例如第二次}之后的结肠,更改为int main,public int main,static int main,用大写的第一字母写下主字母和字符串,似乎什么都没有解决。我正在使用字符串[] args,因为我将在最终应用程序上拾取参数。
public class HelloWorld
{
public static int main(String[] args)
{
System.out.println("Hello, World");
return 4;
}
}
Java不是C
,入口点必须具有void
返回类型。
public static void main(String[] args)
要将非零值返回到调用过程中,您可以使用System.exit(int)
System.exit(4);
请注意,(根据Javadoc)该参数用作状态代码;按照惯例,非零状态代码表示异常终止。
尝试使用public static void main,而不是返回值
在Java语言中,当您使用Java解释器执行类时,运行时系统首先调用类的Main()方法。Main()方法的签名无法更改,以执行必须为public
,static
不返回任何内容并接受字符串Arrys String[]
:
public static void main(String[] args){}
希望它有帮助,
Jose Luis
main()
在类级别的运行时调用,因此必须 public
和 static
。同样,在C 中,main()
的返回值通常用于指示程序的退出状态。在Java中,还有其他方法可以做到这一点,而main()
不需要返回值。因此,它也需要是void
通常以C和C main
等语言返回int
来指示退出代码,例如。0
用于成功退出,任何其他数字都以获取错误。这是一个外部程序可以解释运行的结果。
要在Java中实现类似的功能,您需要使用System.EXIT允许返回值。类似:
public static void main(String[] args) {
int toReturn = 1;
System.exit(toReturn);
}
您知道,大多数标准都要求您遵守以下想法:零以外的任何事物都是错误。