java.lang.NoSuchMethodError:简单Java程序中的主要错误



尝试编写一个程序来为我计算我的GPA,当我尝试运行原型时,我不断收到以下消息:

java.lang.NoSuchMethodError: main
Exception in thread "main"

代码如下:

包装橙色;

import java.util.Scanner;
public class plums{
    String philosophy, econ, french, fye, marine, stats;
    public void main(String args[]){
        Scanner gpa = new Scanner(System.in);
        System.out.println("Philosophy Grade: ");
        philosophy = gpa.nextLine();
        System.out.println("Econ grade: ");
        econ = gpa.nextLine();
        System.out.println("French Grade: ");
        french = gpa.nextLine();
        System.out.println("FYE Grade: ");
        fye = gpa.nextLine();
        System.out.println("Marine grade: ");
        marine = gpa.nextLine();
        System.out.println("STATs Grade: ");
        stats = gpa.nextLine();
    }
        public void main(double[] args) {
            gpa philGrade = new gpa(4);
        if (philosophy.equals("a") ) 
            gpa.philGrade = 4;
            else if (philosophy.equals("a-"))
            gpa.philGrade = 3.7;
            else if (philosophy.equals("b+"))
                gpa.philGrade = 3.3;
            else if (philosophy.equals("b"))
                gpa.philGrade = 3;
            else if (philosophy.equals("b-"))
                gpa.philGrade = 2.7;
            else if (philosophy.equals("c+"))
                gpa.philGrade = 2.3;
            else if (philosophy.equals("c"))
                gpa.philGrade = 2;
            else if (philosophy.equals("c-"))
                gpa.philGrade = 1.7;
            else if (philosophy.equals("d+"))
                gpa.philGrade = 1.3;
            else if (philosophy.equals("d"))
                gpa.philGrade = 1;
            else if (philosophy.equals("d-"))
                gpa.philGrade = .7;
            else if (philosophy.equals("f"))
                gpa.philGrade = 0;
        else
            System.out.println("y u do dis??");

这是针对一个类的,这是另一个类:

package orange;
public class gpa {
public static double philGrade;
public gpa(double grade1){
    philGrade=grade1;
    }
public void lines(){
System.out.println(gpa.philGrade);

}
}

您的main方法必须声明为公共静态方法。

主要方法声明:

public static void main (String [] args)

main方法被声明为公共的,因为它从外部调用,即由JVM调用。并且它被声明为静态的,因为它在类的对象实例化之前被调用(它是代码执行的第一个点)。

public static void main(String args[]){
...
}

你错过了static

使 main 方法静态,如下所示。

public static void main(String args[]){

public static void main(String[] args)是任何Java程序的入口点。当您执行 java 文件时,JVM 会查找此方法以开始执行。在您的情况下,它无法找到它,因此会引发java.lang.NoSuchMethodError: main错误。

溶液:

在您的方法中添加了static修饰符:public void main(String args[])

相关内容

  • 没有找到相关文章

最新更新