Brüchevergleich

jonasvi

Mitglied
Hey Community,
ich studiere kein Informatik und habe ein Verständnisproblem bzw. Frage bzgl. diesen Codeabschnittes:

Code:
int findeMax() {
int maxIndex = 0;
for (int i = 1; i < brueche.length; i++) {
if (brueche[i].groesser(brueche[maxIndex])) {
maxIndex = i;
}
}
return maxIndex;
}

Wir haben schon vorher eine Bruchklasse definiert (mit allen drum und dran, getZaehler, Addieren, Multiplizieren etc.) und wollen mit einen Plotter nun Brüche nach deren Größe sortiert darstellen (Stichwort: SelectionSort-Verfahren, QuickSort-Verfahren, ...).

Ich hoffe dieser Code Abschnitt reicht schon, denn ich weiß nun nicht wie ich bei der Zeile
Code:
if (brueche[i].groesser(brueche[maxIndex]))
einen Vergleich ziehen soll. Ich soll eine Methode groesser erstellen doch habe ja nur was in den Klammern drin steht als Ausgabe-Wert. Wie könnt ich das nun in der Methode mit brueche vergleichen?

Liebe Grüße,
jonasvi
 

Thallius

Top Contributor
Die Methode groesser muss natürlich in deine Bruchklasse. Dort hast du dann Zugriff auf die Attribute (Wahrscheinlich Zaehler und Nenner) beider Brüche und kannst diese vergleichen.
 

Jardcore

Top Contributor
Java:
if (brueche[i].groesser(brueche[maxIndex]))
Um das umzusetzen müsste "brueche" ein Array deiner definierten Bruchklasse (Bruch) sein.
In der Art:
Java:
Bruch[] brueche;
Deine Bruchklasse muss dann die Methode
Java:
public boolean groesser(Bruch bruch) {
    return zahler / nenner > bruch.getZahler() / bruch.getNenner();
}
implementieren.

Um es bisschen besser verstäntlich zu machen:
Java:
public boolean groesser(Bruch bruch) {
    return this.zahler / this.nenner > bruch.getZahler() / bruch.getNenner();
}
.
Hier nochmal das Schlüsselwort "this" hinzugefügt.

Bin kein Mathematiker... aber hoffe die Logik ist richtig XD
 

Thallius

Top Contributor
Um es bisschen besser verstäntlich zu machen:
Java:
public boolean groesser(Bruch bruch) {
    return this.zahler / this.nenner > bruch.getZahler() / bruch.getNenner();
}
.
Hier nochmal das Schlüsselwort "this" hinzugefügt.

Bin kein Mathematiker... aber hoffe die Logik ist richtig XD

Naja, da Zähler und Nenner (hoffentlich) Integer sind, würde das wohl kaum funktionieren. Da muss man dann schon etwas mehr Hirnschmalz reinstecken wenn man nicht fuschen und alles auf float casten will.

Gruß

Claus
 

Thallius

Top Contributor
Warum sollte ich ein Brüche Programm schreiben wenn ich dann doch wieder die Ungenauigkeiten der Flieskommaberechnung benutze?
Durch das Casten auf float wird der komplette Sinn des Programms, nämlich fehlerfrei mit irrationalen Zahlen rechnen zu können aufgehoben.

Gruß

Claus
 

Neue Themen


Oben