Eclipse 无法确定主要 class

Eclipse cannot determine the main class

到目前为止我的代码是:

package graphics;

import acm.graphics.*;
import acm.program.*;

public class project1 {
    public class graphics extends GraphicsProgram {
        private static final long serialVersionUID = 1L;
        public void run() {
            add( new GLabel( "hello, world", 100, 75));
        }
    }
}

我收到错误:

Exception in thread "main" acm.util.ErrorException: Cannot determine the main class. at acm.program.Program.main(Program.java:1358)

我已经通过在线参考达到了这一点,除了我在 运行 配置中以自己的帐户进行的两次修改,将 acm.program.Program 设置为主要 class主选项卡,并将 code=acm.program.Program 设置为程序参数,不确定这是否相关。

您需要删除外部 class project1。请参阅此处的文档图 2-3:

http://cs.stanford.edu/people/eroberts/jtf/tutorial/UsingTheGraphicsPackage.html

package graphics;

import acm.graphics.*;
import acm.program.*;

public class graphics extends GraphicsProgram {
        private static final long serialVersionUID = 1L;
        public void run() {
            add( new GLabel( "hello, world", 100, 75));
        }
}

另外你真的应该给你的 class 一个大写的首字母。

正如@BilltheLizard 所指出的,您还需要确保 java 文件的名称与 class 的名称匹配。因此,如果您的 class 名为 Graphics,则您的 java 文件应名为 Graphics.java

您收到错误是因为您没有 main 方法,如果您想要 运行 的程序没有 main 方法,JVM 将无法 运行 该程序.为了 运行 和编译那个程序,你需要有一个主要方法让 JVM 理解编译那个 class。

下面是正确的方法:如果您不使用外部 class,您可以将其移除。

import acm.graphics.*;
import acm.program.*;

public class Graphics extends GraphicsProgram {

    private static final long serialVersionUID = 1L;
    public void run() {
        add( new GLabel( "hello, world", 100, 75));
    }

    public static void main(String[] args) {
        Graphics g = new Graphics();
        g.run();
    }
}