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

时间:2013-12-19 07:14:19

标签: java main

尝试编写一个程序来为我计算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);


}

}

4 个答案:

答案 0 :(得分:1)

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

声明主要方法:

public static void main (String [] args)

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

答案 1 :(得分:0)

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

您缺少static

答案 2 :(得分:0)

将main方法设为静态,如下所示。

public static void main(String args[]){

答案 3 :(得分:0)

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

解决方案:

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