Funktionbeendung

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi, hab ein kleines problem.

ich habe eine Funktion die prüft welches Auto schneller fährt. Ich soll das Auto zurückgeben das schneller fährt. wie mach ich das nun wenn sie gleich schnell sind

Mein code

Code:
Fahrzeug tocompare(Fahrzeug x){
         if(this.getSpeed()==x.getSpeed()){
             System.out.println("Beide sind gleich schnell");
         }
         if(this.getSpeed()>x.getSpeed()){
             return this;
         }else{return x;}
       
         
     }

Dieser gibt mir aber natürlich bei Gleichheit den Text und das Fahrzeug x zurück

Bitte um Antwort


todd
 

Redfrettchen

Bekanntes Mitglied
Da musst du einfach eine Vereinbarung treffen oder compareTo anders implementieren, z.B. indem du statt dem schnelleren Fahrzeug folgende int-Rückgabewerte benutzt:
-1, wenn das Fahrzeug, von dem die Methode aufgerufen wird langsamer ist,
0, wenn beide Fahrzeuge gleich schnell sind und
1, wenn das übergebene Fahrzeug langsamer ist.
 

vogella

Bekanntes Mitglied
Hallo,

Code:
Fahrzeug tocompare(Fahrzeug x){
         if(this.getSpeed()==x.getSpeed()){
             System.out.println("Beide sind gleich schnell");
         }
         else if(this.getSpeed()>x.getSpeed()){
             return this;
         }else{return x;}
       
         
     }

Viele Grüße, Lars
 
G

Guest

Gast
@lars


also mit deiner Methode kann ich ja auch nichts anfangen, da ich nicht compilieren kann


trotzdem thx


greets
 

Eldar

Aktives Mitglied
Anonymous hat gesagt.:
also mit deiner Methode kann ich ja auch nichts anfangen, da ich nicht compilieren kann
Macht auch keinen wirklichen Unterschied.
Versuch es wie Redfrettchen es beschrieben hat. Statt eines Fahrzeugs, nur ein 1,0,-1 zurückgeben. Wenn du allerdings mit dem übergebenden Fahrzeug x weiterarbeiten willst wird es etwas komplizierter.
 
G

guest

Gast
genau das ist das Problem. ich möchte nur ein Fahrzeug zurückgeben und zb keinen int-Wert
 

mephi

Bekanntes Mitglied
du kannst auch einfach im falle dass sie gleich schnell sind null zurückgeben und dass dann in deinem programm berücksichtigen.

zB per if abfrage.

oder du schmeißt eine exception und fängst die ab*G*
 

Redfrettchen

Bekanntes Mitglied
Gib halt this zurück, wenn es dir egal ist, welches der beiden gleichschnellen Fahrzeuge du haben möchtest. Fall es nicht egal ist, musst du eben die Abfrage weiter verzweigen und deine Bedingungen einbauen.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben