BlueJ - Aufgabe 12 namens Traktor

Dominik7

Mitglied
Hallo mache gerade eine Aufgabe von meiner HTL-Informatik Schule:
Das ist ein Achtel meiner Angabe. Nur diese verstehe ich nicht.

• anhaengen(…) Es können maximal zwei Anhänger am Traktor angekuppelt werden. Der Rückgabewert soll true sein, wenn der Anhänger angekuppelt werden konnte, sonst false.
(Das ist natürlich eine Vereinfachung, denn in der Realität hängt der 2. Anhänger am 1. und der 1. am Traktor und nicht beide direkt am Traktor - wie hier vorgegeben)

• berechneFahrzeit( … ) soll die Fahrzeit (in Minuten) für die angegebene Strecke (in Kilometer) berechnen. Es ist davon auszugehen, dass der Traktor mit 40 km/h unterwegs ist (also 40 Kilometer pro Stunde), wenn die Anhänger leer oder nicht vorhanden sind. Sind die Anhänger beladen, dann verringert sich die Geschwindigkeit um 0,1 km/h für jede geladene Kiste.
Wichtig: ohne Bauer (also wenn „fahrer == null“) soll für die Fahrzeit der Wert -1 zurückgegeben werden, weil der Traktor dann nicht fährt!

Hier mein Vorgang: [IN DIESER AUFGABE WAREN DREI KLASSEN ZU ERSTELLEN (Bauer,Anhaenger,Traktor)

Klasse Bauer:

Java:
/**
 * Write a description of class Bauer here.
 * 
 * @author ...
 */
public class Bauer
{
    private String name;
    
    public Bauer(String name)
    {
        setName("Günter");
    }
    
    public void setName(String name)
    {
        this.name=name;
    }
    
    public String getName()
    {
        return name;
    }
}

KLASSE ANHAENGER:


Java:
/**
 * Write a description of class Anhaenger here.
 * 
 * @author ...
 */
public class Anhaenger
{
    private int kisten;
    
    public Anhaenger()
    {
        setKisten(0);
    }
    
    public Anhaenger(int kisten)
    {
        setKisten(kisten);
    }
    
    public void setKisten(int kisten)
    {
        this.kisten=kisten;
    }
    
    public int getKisten()
    {
        return kisten;
    }
    
    public void aufladen(int anzahlKisten) 
    {
        if (kisten >=0 && kisten+anzahlKisten <=150)
        {
            kisten+=anzahlKisten;
        }
    }
    
    public void abladen(int anzahlKisten)
    {
        if (kisten >=0 && kisten >=anzahlKisten && kisten-anzahlKisten >=0)
        {
            kisten-=anzahlKisten;
        }
    }
}


KLASSE TRAKTOR:


Java:
/**
 * Write a description of class Traktor here.
 * 
 * @author ...
 */
public class Traktor
{
    private Bauer fahrer;
    private Anhaenger anhaenger1;
    private Anhaenger anhaenger2;
    
    public Traktor(Bauer fahrer)
    {
        setFahrer(Bauer);
    }
    
    public boolean anhaengen(Anhaenger anhaenger)
    {
         ....????
}
 
Zuletzt bearbeitet:
Prüfe, ob anhänger1 gefüllt ist. Wenn nein, dann speichere hier den anhaeger.
Else:
Prüfe ob anhänger 2 gefüllt ist, wenn nein, dann speichere hier den anhenger.
else
gebe false zurück.


Fertig.

P.S: Titel ist natürlich doof, Es gibt hier im Forum java Tags, auf die in ROT hingewiesen wird.

Ganz schlechte Leistung für eine HTL.

---

Danke Slater, ich weiß, dass du gerade dabei bist das zu korrigieren 😉
 
Prüfe, ob anhänger1 gefüllt ist. Wenn nein, dann speichere hier den anhaeger.
Else:
Prüfe ob anhänger 2 gefüllt ist, wenn nein, dann speichere hier den anhenger.
else
gebe false zurück.


Fertig.

P.S: Titel ist natürlich doof, Es gibt hier im Forum java Tags, auf die in ROT hingewiesen wird.

Ganz schlechte Leistung für eine HTL.

---

Danke Slater, ich weiß, dass du gerade dabei bist das zu korrigieren 😉

Nun ich weiß dass ich nicht in meiner Gruppe der beste bin außerdem fange das theam programmieren an.
Deswegen frage ich dich nun was meinst du mit gefüllt und dem speichern. Vergiss nicht ich kann noch nicht so viel. Was ich kann ist:

- set und get Methoden
- Konstruktoren
- allgemeine if und else
- erweiterte if und else methode
...
Ja in diesem Bereich

PS: Kommst du aus Polen bzw. kannst polnisch sprechen? Dein Name sagt mir das nämlich aus
 
Was du brauchst ist die Methode [c]anhaengerAnhangen(Anhaenger n)[/c] in
Code:
Traktor
, die Methode [c]getAnzahlKisten()[/c] in
Code:
Anhaenger
und eine Methode
Code:
berechneGeschwindigkeit()
in Traktor. Die anhänger, die dein Traktor per [c]anhaengerAnhangen(Anhaenger n)[/c] bekommen hat musst du natürlich in der Klasse speichern.

Überleg dir, wie die drei mit einander zusammen hängen und was sie im einzelnen tun. Wenn das adnn sinn ergibt, schreib den Code dazu und frag nochmal nach, wenns nicht klappt 😉
 
Ich löse das mal auf.

Java:
/**
 * Write a description of class Traktor here.
 * 
 * @author ...
 */
public class Traktor
{
    private Bauer fahrer;
    private Anhaenger anhaenger1;
    private Anhaenger anhaenger2;
    
    public Traktor(Bauer fahrer)
    {
        setFahrer(Bauer);
    }
    
    public boolean anhaengen(Anhaenger anhaenger)
    {
         if(anhaenger1 == null) {
        	 anhaenger1 = anhaenger;
         } else if (anhaenger2 == null) {
        	 anhaenger2 = anhaenger;
         } else {
        	 return false;
         }
         return true;
    }
}
 
Ich löse das mal auf.

Java:
/**
 * Write a description of class Traktor here.
 * 
 * @author ...
 */
public class Traktor
{
    private Bauer fahrer;
    private Anhaenger anhaenger1;
    private Anhaenger anhaenger2;
    
    public Traktor(Bauer fahrer)
    {
        setFahrer(Bauer);
    }
    
    public boolean anhaengen(Anhaenger anhaenger)
    {
         if(anhaenger1 == null) {
        	 anhaenger1 = anhaenger;
         } else if (anhaenger2 == null) {
        	 anhaenger2 = anhaenger;
         } else {
        	 return false;
         }
         return true;
    }
}

Ich kann das noch nicht verwenden weil wir "else if" noch nicht gelernt haben
 
Ich kann das noch nicht verwenden weil wir "else if" noch nicht gelernt haben

Sollst du ja auch nicht. Du solltest nachvollziehen und dann selber implementieren.

Leider übernimmt heutezutage zunehmend die Crowed das denken =(

Und dann 5 Jahre später: Sitzt man am ersten Projekt und postet erstmal im Forum die Aufgabe des Chefs ;D

Ich freu mich drauf.
 

Neue Themen


Zurück
Oben