2

到目前为止,我的代码是:

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));
        }
    }
}

我得到错误:

线程“main”acm.util.ErrorException 中的异常:无法确定主类。在 acm.program.Program.main(Program.java:1358)

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

4

2 回答 2

5

您需要删除您的外部类项目1。请参阅此处的文档图 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));
        }
}

此外,你真的应该给你的班级一个大写的第一个字母。

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

于 2015-07-25T17:07:33.950 回答
-1

您收到错误是因为您没有 main 方法,并且如果您要运行的程序没有 main 方法,JVM 将无法运行该程序。为了运行和编译该程序,您需要一个 main 方法让 JVM 理解以编译该类。

以下是正确的方法:如果您不使用外部类,则可以将其删除。

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();
    }
}
于 2015-07-25T18:49:21.727 回答