2013-01-13 45 views
0

我试图编译一个名为“Left 4K Dead”的4KB Java游戏..不管怎样,它会用javac G.java命令成功编译,但是当您使用java G运行它时,它会在我:Java代码编译错误

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

任何人知道如何使这项工作?谢谢:)

的代码开头:

import java.applet.Applet; 
import java.awt.*; 
import java.awt.event.*; 
import java.awt.image.*; 
import java.util.*; 

public class G extends Applet implements Runnable 
{ 
private boolean[] k = new boolean[32767]; 
private int m; 

public void start() 
{ 
    enableEvents(AWTEvent.KEY_EVENT_MASK | AWTEvent.MOUSE_EVENT_MASK | AWTEvent.MOUSE_MOTION_EVENT_MASK); 
    new Thread(this).start(); 
} 

public void run() 
{ 
    BufferedImage image = new BufferedImage(240, 240, BufferedImage.TYPE_INT_RGB); 
    Graphics ogr = image.getGraphics(); 

回答

2

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

此异常指示正是它指出,没有main方法,使程序无法启动。

左4k死码的问题是它是applet。它预计会被编译,然后从网页运行,而不是从命令行运行(即不能使用命令java运行它)。如果你想从命令行运行它,你应该查看一个独立的applet viewer

+0

OH ..这是有道理的..在这种情况下..你如何在网络浏览器中运行这个? – seanthewebber

+0

浏览器的Java插件负责运行它,特别是它在自己的沙盒过程中运行它。完整的细节有点超出了这个问题的范围,所以如果您对当前问题的上述答案感到满意,请随时接受并提出有关如何运行它的新问题。据说,Left 4k Dead [网站](http://www.mojang.com/notch/j4k/l4kd/)的源代码可能会给你一些帮助。 –

+0

啊,好的。 Google做了一些关于这个主题的研究,觉得我明白了。谢谢:) – seanthewebber

0

类的编译后,使用

appletviewer <class-name>

通过命令行来运行它,因为它是一个applet

否则后果自负

为CodeMaker建议你可以在浏览器中嵌入它。