Objektorientierung

buffy2299s

Mitglied
Hallo Leute, hab die Aufgabe gestellt bekommen: Lass Maja nun den den Honig im Bienenstock abliefern. Mein Ansatz war biene.lieferHonigAb(); aber das ist leider falsch, könnte mir jemand vielleicht weiter helfen? Danke!
Code:
public class Biene {
  private final String name;
  private int honigInGramm = 0;
  Biene biene = new Biene("Maja");
  public Biene(String name){
    this.name = name;
  }
  public void sammleHonig(){
    honigInGramm = (int) (Math.random()*20);
  }
  public int gibHonig(){
    int tmp = honigInGramm;
    honigInGramm = 0;
    return tmp;
  }
  public String toString() { return name; }
}
public class BienenStock {
  private static int honigLager = 200;
  public static void lieferHonigAb(Biene b) {
    honigLager = honigLager + b.gibHonig();
    System.out.println(b + " ist mal wieder" + " im Bienenstock vorbeigekommen");
  }
  public static String aktuelleHonigmenge(){
    return "Im Bienenstock sind jetzt " + honigLager + " Gramm Honig gelagert";
  }
}
 
Deine Methode lautet public static void lieferHonigAb(Biene b) {....}

Einfach biene.lieferHonigAb(); wird daher so nicht funktionieren, da ja damit gerechnet wird das ebenfalls eine "Biene b" mit übergeben wird (siehe Klammer).

Ich nehme an du möchtest die Methode "lieferHonigAb(Biene b)" auf der Konsole ausgeben, daher müsstest du den Befehl ebenfalls in einer public static void laufen lassen.

Java:
package Biene;
public class TestClient {

    public static void main(String[] args) {
        BienenStock.lieferHonigAb(Was könnte hier nur rein kommen :) );
    }
}
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben