ich soll eine Methode erstellen, welches aus einem Array mit zwei Autos den kleinsten Hubraum heraussucht?

4 Antworten

Ich würde eine kleine Klasse für das Auto schreiben, die ein int-Feld für den Hubraum erhält. Strings sind da unpassend. Vor allem, wenn du die Einheit jedes Mal noch dazu schreibst. Sowas wollen Entwickler IMMER vermeiden. int-Werte kannst du außerdem direkt vergleichen.

Und dann gibt die Methode entweder das Element der Klasse zurück, das den kleinsten Hubraum hat, oder einen Index auf dein Auto-Array.


Belus911 
Beitragsersteller
 27.06.2018, 14:48

ergibt Sinn, Danke!

Abstrahieren. Nutze int statt String um == <= >= < > nutzen zu können. Handle den Text in der/den Ausgaben. Oder schreibe eine Klasse Auto mit toString Methode, welche den Hubraum als int behält (get-Methode notwendig)

Deine Lösung geht auch, ist aber schwieriger.

Stell dir vor, du hast schrauben sortiert und nun hast du bei allen Kästchen wo schrauben drin sind noch handbücher reingeworfen.. das finden der Schraube benötigt nun länger.

Woher ich das weiß:Studium / Ausbildung – Ich studiere beides.

Belus911 
Beitragsersteller
 27.06.2018, 14:49

Danke für den den Tipp! Aber wodurch unterscheidet sich einen toString methode?

NatanInfoPhilo  27.06.2018, 15:54
@Belus911

Du kennst bestimmt schon:

System.out.println(x)

Wobei x ein String ist. Dies geht auch mit int Werten. Also:

System.out.println(5); funktioniert.

Warum? Int sind doch keine Strings! Aber sie haben die toString Methode definiert! toString, wenn aufgerufen (was println automatisch macht), sorgt dafür, dass das Objekt String gerecht angezeigt wird. Dies ist für die gängigen Klassen bereits gegeben. Für deine eigenen schreibst du sie am besten selbst z.b.

Public class Auto{

int zHubraum = 0;

Public Auto(int pHubraum) {

zHubraum = pHubraum;

}

public String toString() {

return Integer.toString(zHubraum);

}

}

Wenn du dann ein Objekt Auto namens Cabrio hast und das zHubraum = 5; hat würde folgendes den Hubraum ausgeben:

System.out.println(Cabrio);

Was für Methoden hast du bis jetzt erstellt?

Wozu dienen Methoden?

Werden "Methodenargumente" innerhalb der Methode gesetzt?

Wenn du ein Minimum ermitteln willst, ist String dafür der geeignetste Typ?

String.compareTo ist eine Methode mit Rückgabewert. Was passiert mit diesem Rückgabewert?


Belus911 
Beitragsersteller
 27.06.2018, 13:54

Hey :-)

1: noch keine Methoden mit String, meist nur void, paint oder int.

2: zur Verringerung der Komplexität des Programme

3.meinst du mir "methodenargumente" den Methodenkörper?

4. Am besten int oder float der beste typ, da ich diese mit der Math.max oder Math.min methode nutzen kann

5.ich benötigte ein Returnanweisung! Aber dann stecke ich wieder in meinem Dilemma welche meine Returnanweisung ich nehmen muss?

Die function kann auch vom Datentyp String Array sein, also
public String[] kleinsterHubraum(), wenn du ein String zurückgeben willst.


danhof  27.06.2018, 07:44

Dann würdest du ein string-Array zurückgeben. Wozu?