首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.NoSuchMethodError:简单java程序中的主错误

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

Stack Overflow用户
提问于 2013-12-19 15:14:19
回答 4查看 93关注 0票数 0

我试图写一个程序来计算我的GPA,当我试图运行原型时,我一直收到这样的消息:

代码语言:javascript
复制
java.lang.NoSuchMethodError: main
Exception in thread "main"

代码如下:

包装橙色;

代码语言:javascript
复制
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??");

这是一个类,这是另一个类:

代码语言:javascript
复制
package orange;

public class gpa {

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


}

}
EN

回答 4

Stack Overflow用户

发布于 2013-12-19 15:24:41

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

方法的声明:

代码语言:javascript
复制
public static void main (String [] args)

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

票数 1
EN

Stack Overflow用户

发布于 2013-12-19 15:15:45

代码语言:javascript
复制
public static void main(String args[]){
...
}

您缺少static

票数 0
EN

Stack Overflow用户

发布于 2013-12-19 15:16:24

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

代码语言:javascript
复制
public static void main(String args[]){
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20675544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档