• Hi!

    Ich hätte da eine Frage zu Threads, da ich leider nirgendwo eine Antwort gefunden habe, habe ich gehofft, ihr könnt mir da weiterhelfen.

    Es geht um einen Thread, der die "Rundenzeiten" eines Rennfahrer berechnet


    In der Hautklasse GP, werden nun die 3 RennfahrerThreads gestartet

    Code
    public class GP {
    public static void main(String[] args) {
    Thread Schuhmacher = new Thread (new Rennfahrer());
    Thread Trulli = new Thread (new Rennfahrer());
    Thread Alonso = new Thread (new Rennfahrer());
    }
    }


    Mein Problem ist nun, dass ich auf die Variable x, wo die Rundenzeit gespeichert ist zugreifen möchte, um sie in eine neue Variable zu speichern.

    Die Frage ist nun, ob das so, wie ich das vorhabe überhaupt möglich ist.

    Alternativ habe ich es geschafft, wenn ich die 3 Rennfahrer in eigene Klassen mit eigenen Thread packe, diese dann von der Hauptklasse GP ableite und die Rundenzeiten durch den Super Befehl in neue Variable speichere. Das scheint mir aber als keine schöne Lösung bzw. habe ich überhaupt andere Möglichkeiten?

  • solang dass int x als provate deklariert ist, geht da leider net viel.
    also würd ich eine methode "gettime() schrieben, die einfach das x als return wert hat. ansonsten dürfet es da aber kein problem geben so wie ich das seh.

  • Ja, mit einer zusätzlichen Methode hatte ich es auch schon probiert, aber
    das Problem, dass ich dann hatte ->Wie greife ich dann auf die Methode zu?

    Weil mit z.B. mit SchuhmacherZeit = Schuhmacher.gettime() kommt ne Fehlermeldung, dazu müßte ich ja erst ein Objekt Schuhmacher erstellen.

  • Du könntest den Rennfahrer-Objekten Namen geben.
    z.B.:

    Code
    Rennfahrer fahrer1=new Rennfahrer();
    Thread schuhmacher=new Thread(fahrer1);

    mit fahrer1.getTime() kannst du dann zugreifen.

    Mit schuhmacher.getTime() greifst du ja auf das Thread-Objekt mit Namen Schuhmacher zu, dieses Objekt hat aber keine getTime()-Methode, sondern das Rennfahrer-Objekt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!