Auf Thema antworten

Ok. Ich habe es dank euch, soweit gebracht.

Getestet funktioniert auch.



[code=Java]package Klausur8;


import java.util.HashMap;


public abstract class AbstractTabelle {

   

     HashMap<Fahrer, Integer> liste = new HashMap<Fahrer, Integer>();


     public void addFahrer(Fahrer fahrer, Integer punkte){

        

         liste.put(fahrer, punkte);

     }

    

   

     public void removeFahrer(Fahrer fahrer){

         liste.remove(fahrer);

     }

    

     public void update(Fahrer fahrer, Integer punkte){

         if(liste.containsKey(fahrer)){

             liste.remove(fahrer);

             liste.put(fahrer, punkte);

            

         }else{

             liste.put(fahrer, punkte);

            

         }

     }

    

    

     public void passed(Fahrer fahrer, Integer punkte){

         update(fahrer, punkte);

         notify(fahrer, punkte);

     }

     public void notify(Fahrer fahrer,Integer punkte ){

        

     }

}

[/code]

[code=Java]package Klausur8;




public class Bergtabelle extends AbstractTabelle{

    

     public void notify(Fahrer fahrer, Integer punkte){

         fahrer.setBergpunkte(punkte);

     }

    

   

    

}

[/code]


[code=Java]package Klausur8;




public class Sprinttabelle extends AbstractTabelle{

     public void notify(Fahrer fahrer, Integer punkte){

         fahrer.setSprintpunkte(punkte);

     }

    

    

}

[/code]


[code=Java]package Klausur8;


public class Fahrer {

    Fahrer(String name, int bergPunkte, int sprintPunkte){

       

        this.name = name;

        this.bergPunkte = bergPunkte;

        this.sprintPunkte = sprintPunkte;

       

    }

   

    private String name;

    public int bergPunkte = 0;

    public int sprintPunkte = 0;

   

    public void setName(String name){

        this.name = name;

       

    }

   

    public String getName(){

        return this.name;       

    }

   

    public void setBergpunkte(int n){

        this.bergPunkte = n;

       

    }

    public int getBergpunkte(){

        return bergPunkte;

    }

    public void setSprintpunkte(int n){

        this.sprintPunkte = n;

    }

    public int getSprintpunkte(){

        return sprintPunkte;

    }

   


}

[/code]


[code=Java]package Klausur8;


public class Hauptprogramm {

   

    public static void main(String[] args){

        Fahrer fahrer1 = new Fahrer("Steve", 0, 0);

        Fahrer fahrer2 = new Fahrer("Nora", 10, 10);

       

        Bergtabelle bergtabelle = new Bergtabelle();

        Sprinttabelle sprinttabelle = new Sprinttabelle();

       

        bergtabelle.passed(fahrer1, 60);

        sprinttabelle.passed(fahrer2, 90);

       

        System.out.println(fahrer1.bergPunkte);

       

       

       

       

    }


}

[/code]



Oben