Java 日食说:";所选内容不包含主类型";当有';没有编码错误

Java 日食说:";所选内容不包含主类型";当有';没有编码错误,java,polymorphism,Java,Polymorphism,在检查无错误并运行java编码后,eclipse告诉我“选择不包含主类型”。我已经检查了publicstaticvoidmain(String[]args){,它是正确的。我还搜索了其他人遇到的一些类似问题,似乎我没有找到任何适合我的解决方案。希望你们能帮我解决这个问题,如果有,将非常感谢!我的代码如下: import java.util.Random; class Shape { protected Color color; protected Point point; public Sh

在检查无错误并运行java编码后,eclipse告诉我“选择不包含主类型”。我已经检查了
publicstaticvoidmain(String[]args){
,它是正确的。我还搜索了其他人遇到的一些类似问题,似乎我没有找到任何适合我的解决方案。希望你们能帮我解决这个问题,如果有,将非常感谢!我的代码如下:

import java.util.Random;

class Shape {
protected Color color;
protected Point point;

public Shape (Color color, Point point)
{ this.color = color;
this.point = point;
}
public String Type(){return " ";}
}

class Rectangle extends Shape{
public Rectangle(Color color, Point point){
    super(color, point);}

public String Type(){return "Rectangle";}
}
class Triangle extends Shape{
    public Triangle(Color color, Point point){
        super(color, point);
    }
    public String Type(){return "Triangle";}
}
class Eclipse extends Shape{
    public Eclipse(Color color, Point point){
        super(color, point);}
    public String Type(){return "Eclipse";}
        }
public class ShapeTest{
    public static void main(String[] args){
        Color color = new Color(50, 100, 150);
        Point point = new Point(50,50);
        Shape[] theShape = {
                new Rectangle(color, point),
                new Triangle(color, point),
                new Eclipse(color, point)
        };
        Shape shapechoice;
        Random select = new Random();
        for (int i = 0; i < 10; i ++)
        {
            shapechoice = theShape[select.nextInt(theShape.length)];
            System.out.println("The " + (i + 1) + "type you chose is: " +       shapechoice.Type());;
        }
    }
}
import java.util.Random;
阶级形态{
保护色;
保护点;
公共形状(颜色、点、点)
{this.color=color;
这个点=点;
}
公共字符串类型(){return”“;}
}
类矩形扩展形状{
公共矩形(颜色、点){
超级(颜色,点);}
公共字符串类型(){返回“矩形”;}
}
类三角形扩展形状{
公共三角形(颜色、点){
超级(颜色、点);
}
公共字符串类型(){return“Triangle”;}
}
类Eclipse扩展了Shape{
公共日食(颜色、点){
超级(颜色,点);}
公共字符串类型(){return“Eclipse”;}
}
公共类形状测试{
公共静态void main(字符串[]args){
颜色=新颜色(50、100、150);
点=新点(50,50);
形状[]形状={
新矩形(颜色、点),
新三角形(颜色、点),
新月食(颜色、点)
};
形状如冰;
随机选择=新随机();
对于(int i=0;i<10;i++)
{
shapechoice=形状[select.nextInt(形状长度)];
System.out.println(“您选择的“+(i+1)+”类型是:“+shapechoice.type());”;;
}
}
}

此代码运行正常,只需为每个类创建不同的文件,然后执行形状测试类

类名-Shape.java

class Shape {
protected Color color;
protected Point point;

public Shape (Color color, Point point)
{ this.color = color;
this.point = point;
}
public String Type(){return " ";}
}
Rectangle.java

    class Rectangle extends Shape{
        public Rectangle(Color color, Point point){
            super(color, point);}

        public String Type(){return "Rectangle";}

}
class Triangle extends Shape{
    public Triangle(Color color, Point point){
        super(color, point);
    }
    public String Type(){return "Triangle";}
}
Triangle.java

    class Rectangle extends Shape{
        public Rectangle(Color color, Point point){
            super(color, point);}

        public String Type(){return "Rectangle";}

}
class Triangle extends Shape{
    public Triangle(Color color, Point point){
        super(color, point);
    }
    public String Type(){return "Triangle";}
}
Eclipse.java

class Eclipse extends Shape{
    public Eclipse(Color color, Point point){
        super(color, point);}
    public String Type(){return "Eclipse";}
        }
java--执行这个类

public class ShapeTest{
    public static void main(String[] args){
        Color color = new Color(50, 100, 150);
        Point point = new Point(50,50);
        Shape[] theShape = {
                new Rectangle(color, point),
                new Triangle(color, point),
                new Eclipse(color, point)
        };
        Shape shapechoice;
        Random select = new Random();
        for (int i = 0; i < 10; i ++)
        {
            shapechoice = theShape[select.nextInt(theShape.length)];
            System.out.println("The " + (i + 1) + "type you chose is: " +shapechoice.Type());;
        }
    }
}
公共类ShapeTest{
公共静态void main(字符串[]args){
颜色=新颜色(50、100、150);
点=新点(50,50);
形状[]形状={
新矩形(颜色、点),
新三角形(颜色、点),
新月食(颜色、点)
};
形状如冰;
随机选择=新随机();
对于(int i=0;i<10;i++)
{
shapechoice=形状[select.nextInt(形状长度)];
System.out.println(“您选择的“+(i+1)+”类型是:“+shapechoice.type());”;;
}
}
}

所有这些代码都在一个文件中?或者它们是在单独的文件中编写的,您只需将它们粘贴到这里即可。?我的Eclipse并没有这样说,而是很高兴地运行您的代码。换句话说,您的问题是不可复制的。可能是重复的。没有规则规定它们必须在单独的文件中。这不是规则,但我告诉您一种更好的编码方式…并且在我的日食中成功运行我也成功运行了OP的文字代码。