This site requires JavaScript, please enable it in your browser!
Greenfoot back
DerEchteBjarne
DerEchteBjarne wrote ...

2021/10/6

Undeclared variable

DerEchteBjarne DerEchteBjarne

2021/10/6

#
Hello im new and struggeling with another problem... it says: ,,Undeclared variable: schueler in line 30 of the second code dont know if u need the other code... Thynk u :)
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class Lehrer here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Lehrer extends Mensch
{
    //Atributsdeklaration
    private String kuerzel;
    private int faecherzahl;
    private boolean streng;
    private int anzahlSchueler;
    private boolean tutorOderKlassenlehrer;
    private Schueler schueler;
    
        public Lehrer()
    {
        super("", (char)0, 0, 0, false);//Error beheben
        schueler= new Schueler();
    }
    
        public String getName()
    {
        return name;
    }
    
    public char getGeschlecht()
    {
        return geschlecht;
    }
    
    public int getAlter()
    {
        return alter;
    }
    
    public double getGroesse()
    {
        return groesse;
    }
    
    public boolean getBrillentraeger()
    {
        return brillentraeger;
    }
    
    public void setLehrer(String pKuerzel)
    {
        kuerzel= pKuerzel;
    }
    
    public String getKuerzel()
    {
        return kuerzel;
    }
    
    public void setFaecherzahl(int pFaecherzahl)
    {
        faecherzahl= pFaecherzahl;
    }
    
    public int getFaecherzahl()
    {
        return faecherzahl;
    }
    
    public void setStreng(boolean pStreng)
    {
        streng= pStreng;
    }
    
    public boolean getStreng()
    {
        return streng;
    }
    
    public void setAnzahlSchueler(int pAnzahlSchueler)
    {
        anzahlSchueler= pAnzahlSchueler;
    }
    
    public int getAnzahlSchueler()
    {
        return anzahlSchueler;
    }
    
    public void setTutorOderKlassenlehrer(boolean pTutorOderKlassenlehrer)
    {
        tutorOderKlassenlehrer= pTutorOderKlassenlehrer;
    }
    
    public boolean getTutorOderKlassenlehrer()
    {
        return tutorOderKlassenlehrer;
    }
}
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class Schüler here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Schueler extends Mensch
{
    //Atributsdeklaration
    private int anzahlSitzengeblieben;
    private double gehirngewichtInKg;
    private String lieblingsfach;
    private boolean engagiert;
    private int anzahlFreunde;
    private boolean motiviert;
    private int benotet;
    
    public Schueler()
    {
        super("", (char)0, 0, 0, false);//Error beheben
        motiviert= false;
        benotet= 0;
    }

    public void schuelerInDieKlasse()
    {
        World world= getWorld();
        world.addObject(schueler, 12, 9);
        //Dieser Befehl setzt das Objekt in die Welt.
    }

    public void setMotiviert(boolean pMotiviert)
    {
        motiviert= pMotiviert;
    }

    public boolean getMotiviert()
    {
        return motiviert;
    }
    
    public void setBenotet(int pBenotet)
    {
        benotet= pBenotet;
    }
    
    public int getBenotet()
    {
        return benotet;
    }
    
    public String getName()
    {
        return name;
    }
    
    public char getGeschlecht()
    {
        return geschlecht;
    }
    
    public int getAlter()
    {
        return alter;
    }
    
    public double getGroesse()
    {
        return groesse;
    }
    
    public boolean getBrillentraeger()
    {
        return brillentraeger;
    }
    
    public void setSchueler(int pAnzahlSitzengeblieben)
    {
        anzahlSitzengeblieben= pAnzahlSitzengeblieben;
    }
    
    public int getAnzahlSitzengeblieben()
    {
        return anzahlSitzengeblieben;
    }
    
    public void setGehirngewichtInKg (double pGehirngewichtInKg)
    {
        gehirngewichtInKg= pGehirngewichtInKg;
    }
    
    public double getgehirngewichtInKg()
    {
        return gehirngewichtInKg;
    }
    
    public void setLieblingsfach(String pLieblingsfach)
    {
        lieblingsfach= pLieblingsfach;
    }
    
    public String getLieblingsfach()
    {
        return lieblingsfach;
    }
    
    public void setEngagiert(boolean pEngagiert)
    {
        engagiert= pEngagiert;
    }
    
    public boolean getEngagiert()
    {
        return engagiert;
    }
    
    public void setAnzahlFreunde(int pAnzahlFreunde)
    {
        anzahlFreunde= pAnzahlFreunde;
    }
    
    public int getAnzahlFreunde()
    {
        return anzahlFreunde;
    }
}
danpost danpost

2021/10/6

#
Inheritance goes down the class chain -- not up. You have schueler declared in the subclass and are trying to use it in its parent class.
DerEchteBjarne DerEchteBjarne

2021/10/7

#
and what is the solution?
danpost danpost

2021/10/7

#
DerEchteBjarne wrote...
and what is the solution?
One possible solution (which may not be the correct one, which really depends on what your objects are and how they should be defined) is to move line 17 from the Lehrer class to the Mensch class.
danpost danpost

2021/10/8

#
After further examination (and after some translating from German to English), I find that line 17 probably should not be anywhere within the Mensch group of classes. Schueler object(s) should be created in your world (or during initiation of the project).
You need to login to post a reply.