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

时间:2013-06-16 19:53:52

标签: 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();
        }

    }
}

地理位置类

package geoformen;


abstract class Geo {

    abstract void printGeoformen();
}

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());
    }
}

Rechteck Class:

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");
    }
}

我跑完之后,它什么也没做。它应该给我一个输出,如“Zeiche ein Rechteckt mit der Laenge von 10 und einer Breite von 20”

错误在哪里?

1 个答案:

答案 0 :(得分:6)

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

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