我的java代码编译,但在运行时显示错误

时间:2015-05-05 10:17:03

标签: java compilation

当我编译下面的代码时没有错误,但是当我运行我的代码时,我最终得到以下错误:

  

错误:无法找到或加载主要类[类名]

如果有人能够以简化的方式向我解释错误以及如何纠正错误,我将不胜感激。

代码示例包括

  package Simulator;

  import javax.swing.JFrame;

  import java.awt.Graphics;

  public class Simulator extends JFrame{

  public Simulator(){

      setTitle("Simulator");

      setSize(500, 500);

      setResizable(false);

      setVisible(true);

      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


  }

  public void paint(Graphics g){

        g.drawString("HelloWorld!", 75, 75);

  }

    public static void main(String[] args){

        new Simulator();

    }
}
import javax.swing*;

import java.util.concurrent*;


public class SubmitLabelManipulationTasks {

  public static void main (String [] args) throws Exception {

            JFrame frame = new JFrame(Hello Swing");
            final JLable label =  new JLabel("A Label");
            frame.add(label);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setSize(300, 100)
            frame.setVisible(true);
            TimeUnit.SECONDS.sleep(1);
            SwingUtilities.invokeLater(new Runnable()){
                  public void run(){
                        label.setText("Hey! This is Different!");
                  }
            }
      }
}

3 个答案:

答案 0 :(得分:0)

您的程序编译成功,因为它们没有任何编译错误,但您无法运行您的程序,因为您没有任何主方法或您没有指定您的主要方法。考虑一个简单的类,如:

class MyClass{
    public static void main (String[] args) throws java.lang.Exception
    {
        System.out.println("Hello World!");
    }
}

此类有main方法,因此当您的程序以此类开头时,它将调用main方法和printout Hello World!。因为您说您正在使用网络bean,所以您可以阅读this教程,并在第4步中查看您指定包含主要方法的类。

答案 1 :(得分:-1)

如果您的源代码名称是HelloWorld.java,那么您编译的代码将是HelloWorld.class

如果使用以下方法调用它,您将收到该错误:

java HelloWorld.class 相反,使用这个:

java HelloWorld 希望它有所帮助。

答案 2 :(得分:-2)

我虽然你正在使用javac。在cmd中,就像在file.java文件夹中一样:

- javac file.java
- java file

但我强烈建议Eclipse使用Java。问候。