BlueJ中的Java不执行主类

BlueJ中的Java不执行主类,java,bluej,Java,Bluej,我正在使用BlueJ IDE。我有一个名为ProgramOne的主类,还有一个名为StarTurtle的类,用于提供实例方法 以下是ProgramOne的代码: 这是星龟的代码: 您看到的海龟方法来自另外两个类,为了简洁起见,我没有在这里粘贴它们。这些类可在手册中找到 代码只进行编译,没有可执行的选项。但是,没有执行void main String[]args的选项,应该有该选项来执行main类。有人知道这是什么原因吗?我假设代码本身存在问题。StarTurtle类确实执行,但主类Program

我正在使用BlueJ IDE。我有一个名为ProgramOne的主类,还有一个名为StarTurtle的类,用于提供实例方法

以下是ProgramOne的代码:

这是星龟的代码:

您看到的海龟方法来自另外两个类,为了简洁起见,我没有在这里粘贴它们。这些类可在手册中找到

代码只进行编译,没有可执行的选项。但是,没有执行void main String[]args的选项,应该有该选项来执行main类。有人知道这是什么原因吗?我假设代码本身存在问题。StarTurtle类确实执行,但主类ProgramOne不执行,这使我相信问题在于ProgramOne类

当我指的是执行选项时,我指的是这个BlueJ功能:


当您从ProgramOne类调用main方法时,您已经创建了StarTurttle1的一个实例。但当您通过调用turtle1.StartTurtle5方法在结果变量中赋值时,该变量中不会存储任何内容。问题是你的StarTurtle类中的这个函数有问题。您已经将public int StartTurtleint x函数定义为返回类型,但实际上它不返回任何东西。因此,需要在该代码块上添加return语句

public class StarTurtle { 
    private int points; 
    public int StartTurtle(int x){ 
        points = x; 
        Turtle sue;
        sue = new Turtle();
        sue.paint (90, 40); 
        return points;
    } 
}
然而,另一方面,您的类和函数虽然在工作,但它们是不正确的。你的课程应该是这样的

public class ProgramOne{
     public static void main (String[ ] args) {  
          StarTurtle turtle1 = new StarTurtle();
          turtle1.StartTurtle();
     }
}

public class StarTurtle { 
    //Void type of method instead of previous return type
    public void StartTurtle(){ 
        Turtle sue;
        sue = new Turtle();
        sue.paint (900, 550); 
    } 
}

感谢您的提示,但是,主类仍然没有执行。您是否尝试执行新的ProgramOne或主方法void mainString[]args?如果您执行了ProgramOne,那么将不会执行任何操作,因为您尚未初始化ProgramOne类中的任何构造函数。如果您执行main函数,我相信该程序将成功执行。或者,如果你想执行调用newprogramOne函数的主类,你必须初始化构造函数。这两种方法都没有,因为BlueJ似乎认为有错误@ranjit Kaliraj什么类型的错误?很抱歉,但是如果您的代码中存在一些编译器问题,请尝试使用我提到的上述代码进行测试。我已经在我的BlueJ中成功地实现了这一点。
public class StarTurtle { 
    private int points; 
    public int StartTurtle(int x){ 
        points = x; 
        Turtle sue;
        sue = new Turtle();
        sue.paint (90, 40); 
        return points;
    } 
}
public class ProgramOne{
     public static void main (String[ ] args) {  
          StarTurtle turtle1 = new StarTurtle();
          turtle1.StartTurtle();
     }
}

public class StarTurtle { 
    //Void type of method instead of previous return type
    public void StartTurtle(){ 
        Turtle sue;
        sue = new Turtle();
        sue.paint (900, 550); 
    } 
}