线程“main”中的exceptionJava.lang.NoSuchMethodError:main?

import java.io.*; import java.lang.Math; class Squr { public static void main () { int m =10,n; double z = 10.4,p; Squr square = new Squr(); p = (double)square.mysqrt(z); n = (int)square.mysqrt(m); System.out.println ("square root of 10 : " + n ); System.out.println ("square root of 10.4 : "+ p ); } double mysqrt (double y) { return Math.sqrt(y); } int mysqrt (int x) { return (int)Math.sqrt(x); } } 

这段代码正在编译,但是当我们尝试执行它时,它给出了“线程中的exception”主“Java.lang.NoSuchMethodError:main”

main()函数应该像这样声明

 public static void main(String[] args) 

Java中main方法的正确方法签名是:

 public static void main(String args[]) 

只需在方法声明中添加缺少的参数即可。

试试看:

 public static void main(String [ ] args) 

看起来您没有使用正确的签名定义主方法。 它应该是:

 public class Squr { public static void main(String[] args) 

你的main()方法应该是这样的

 public static void main(String args[]) 

要么

 public static void main(String[] args) 

要么

 public static void main(String... args) 

Java是一种强类型语言。 您必须以给定方式声明方法。 定义main()方法的正确方法是:

 public static void main (String[] args)