程序应该工作,仍然没有输出?

Jag*_*son -5 java

这是代码:

主类

package geoformen;


public class Geoformen {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        double zufall;
        Geo[] geoformen = new Geo[2];

        for(int i=0;i>3;i++){
            zufall = Math.random();

            if (zufall > 0.5){
                geoformen[i] = new Kreis(2);
            } else {
                geoformen[i] = new Rechteck(10,20);
            }
        }

        for(int i=0;i>3;i++){
            geoformen[i].printGeoformen();
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

地理类:

package geoformen;


abstract class Geo {

    abstract void printGeoformen();
}
Run Code Online (Sandbox Code Playgroud)

Kreis班级:

package geoformen;

public class Kreis extends Geo {

    private double radius;

    public Kreis(double pr){
        radius = pr;
    }


    public void setRadius(double pr){
        radius = pr;
    }

    public double getRadius(){
        return(radius);
    }



    public void printGeoformen(){
        System.out.println("Zeichne einen Kreis mit Radius: " + getRadius());
    }
}
Run Code Online (Sandbox Code Playgroud)

而Rechteck类:

package geoformen;


public class Rechteck extends Geo {

    private double breite;
    private double laenge;

    public Rechteck(double pB, double pL){
        breite = pB;
        laenge = pL;
    }

    public void setBreite(double pB){
        breite = pB;
    }

    public double getBreite(){
        return(breite);
    }

    public void setLaenge(double pL){
        laenge = pL;
    }

    public double getLaenge(){
        return(laenge);
    }

    public void printGeoformen(){
        System.out.println("Zeiche ein Rechteckt mit der Laenge von: " + getLaenge() + "cm und einer Breite von: " + getBreite() + "cm");
    }
}
Run Code Online (Sandbox Code Playgroud)

在我运行之后,它什么也没做.它应该给我一个输出,如"Zeiche ein Rechteckt mit der Laenge von 10 und einer Breite von 20"

错误在哪里?

Ale*_* C. 6

for(int i=0;i>3;i++)应该for(int i=0;i<3;i++)否则循环永远不会执行.因此你的程序什么都不做.

您还应该增加数组的大小,Geo[] geoformen = new Geo[3];否则ArrayIndexOutOfBounds在访问时会出现异常geformen[i](数组是基于0的索引).