Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt?
Ich soll einen Roboter eine Methode aus einem Interface geben, so dass er sich je nachdem wie hoch der Parameter des Roboters ist bewegt. Solange der int-Wert größer gleich 0 ist, soll die Methode move( ) ausgeführt werden und wenn dieser Wert kleiner ist soll die Methode abgebrochen werden. Wie kann ich das lösen?
Meine Idee wäre eine while-Schleife, in welcher ich while x größer gleich 0, super.move( ) und dann zusätzlich eine weitere while-Schleife, welche immer dann läuft, wenn x kleiner 0 ist und dann im Abbruch dieser Schleife endet.
Wie ist der Name, bzw. der komplette Header deiner Methode aus dem Interface, die du implementieren sollst?
Die zweite Schleife brauchst du wirklich nicht. Wenn du die erste abbrichst, sobald der Wert unter 0 sinkt, bleibt dein Roboter ja stehen.
ps: super.move() auszuführen ist wenig sinnvoll, da das Interface ja die Methoden nicht selbst implementiert. Ruf die Methode deiner implementierenden Klasse auf, außer natürlich du leitest außerdem von einer abstrakten Klasse ab.
Wie ist der Name, bzw. der komplette Header deiner Methode aus dem Interface, die du implementieren sollst?
Die zweite Schleife brauchst du wirklich nicht. Wenn du die erste abbrichst, sobald der Wert unter 0 sinkt, bleibt dein Roboter ja stehen.
ps: super.move() auszuführen ist wenig sinnvoll, da das Interface ja die Methoden nicht selbst implementiert. Ruf die Methode deiner implementierenden Klasse auf, außer natürlich du leitest außerdem von einer abstrakten Klasse ab.
Ich habe schon richtig verstanden, dass sich der Roboter x-mal bewegen soll, oder?
In deiner for-Schleife wird die Schleifenvariable n mit x initialisiert und läuft solange, wie x größer oder gleich ist wie 0.
Also für x = 10 wird n = 10 und mit jedem Schleifendurchlauf wird x um 1 erhöht. Die Schleife läuft damit ewig, weil x immer größer als 0 ist und noch weiterhin größer wird.
Warum nicht mit n bei 0 starten mit jedem Durchlauf erhöhen und die Schleife so lange laufen lassen bis x erreicht ist?
Deine while-Schleife hat das Problem, dass sie solange läuft, wie x größer oder gleich 0 ist, aber x wird nie geändert und (sofern es vorher größer als 0 war) immer größer als 0 bleiben wird.
Ich habe schon richtig verstanden, dass sich der Roboter x-mal bewegen soll, oder?
In deiner for-Schleife wird die Schleifenvariable n mit x initialisiert und läuft solange, wie x größer oder gleich ist wie 0.
Also für x = 10 wird n = 10 und mit jedem Schleifendurchlauf wird x um 1 erhöht. Die Schleife läuft damit ewig, weil x immer größer als 0 ist und noch weiterhin größer wird.
Warum nicht mit n bei 0 starten mit jedem Durchlauf erhöhen und die Schleife so lange laufen lassen bis x erreicht ist?
Deine while-Schleife hat das Problem, dass sie solange läuft, wie x größer oder gleich 0 ist, aber x wird nie geändert und (sofern es vorher größer als 0 war) immer größer als 0 bleiben wird.