Wie muss ich dieses Programm weiter anpassen?

Die Rechnung mit endlichen (Gleit-)Kommazahlen kann zu Ungenauigkeiten führen, es kann daher wünschenswert sein, ganzzahlige Brüche zu verwenden.

In dieser Aufgabe soll eine Objektklasse zur Repräsentation von und Rechnung mit Brüchen erzeugt werden.

Die Köpfe der geforderten Methoden sind bereits vorgegeben und dürfen nicht verändert werden. Die Methoden sollen entsprechend der Kommentare vervollständigt werden.

Achten sie darauf diese Methoden, wann immer möglich, zu verwenden und so Duplikationen zu vermeiden.

Alle Methoden deren Rückgabetyp Fraction ist, sollen ein neues Objekt erzeugen und zurückgeben und die zur Berechnung verwendeten Objekte unverändert lassen!

Die Java-Standardbibliotheken Math und Integer dürfen (müssen aber nicht) verwendet werden. Um eine Gleitkommazahl bei der Rechnung mit Ganzzahlen zu erhalten muss ggf. Typecasting verwendet werden!

Es stehen außerdem die folgenden zwei Methoden schon zur Verfügung:

public static int GCD(int x, int y): Gibt den größten gemeinsamen Teiler der beiden Argumente (Greatest Common Divider) zurück.

public static int LCM(int x, int y): Gibt das kleinste gemeinsame Vielfache der beiden Argumente (Lowest Common Multiple) zurück.

public class Fraction {

private int numerator, denominator;

/**

* Gibt den größten gemeinsamen Teiler der beiden Argumente (Greatest Common Divider) zurück.

*/

public static int GCD(int x, int y) {

if (y == 0) return x;

return GCD(y, x % y);

}

/**

* Gibt das kleinste gemeinsame Vielfache der beiden Argumente (Lowest Common Multiple) zurück.

*/

public static int LCM(int x, int y) {

return (x * y) / GCD(x, y);

}

//Beginn der Aufgabe

/**

* Vollstaendig parametrisierter Konstruktor der Zaehler und Nenner

* uebergeben bekommt und die entsprechenden Attribute setzt.

* Negative Vorzeichen (Zahlen kleiner als Null) duerfen nur im Zaehler

* auftreten (nicht im "denominator"-Attribut).

* Die Uebergabe eines negativen Nenners ("denominator"-Argument) an den Konstruktor ist jedoch zulaessig.

* Der Konstruktor muss also den uebergebenen Nenner pruefen und sein Vorzeichen so behandeln,

* dass der resultierende Bruch (die Attribute) die genannte Restriktion erfüllt

* und der Wert des Bruchs (die Argumente) unverändert bleibt

* (ein negatives Vorzeichen im Nenner muss also methematisch korrekt beseitigt werden).

* Wird eine Null als Nenner uebergeben, so wird das entsprechende Attribut

* auf Eins gesetzt.

* Jeder erzeugte Bruch wird gekuerzt (dazu soll die entsprechende Mehode s.u. verwendet werden).

*/

public Fraction(int numerator, int denominator) {

if(pDenominator<0){

numerator = -pNumerator;

denominator = -pDenominator;

}

if(pDenominator == 0){

denominator = 1;

}

}

/**

* Gibt den Nenner zurueck.

*/

public int getDenominator() {

return denominator;

}

/**

* Gibt den Zaehler zurueck.

*/

public int getNumerator() {

return numerator;

}

/**

* Gibt den Bruch als Gleitkommazahl zurueck.

*/

public double toDouble() {

double fraction = numerator / denominator;

return fraction;

}

/**

* Gibt einen String im Format

* "Zaehler/Nenner" zurueck.

*/

public String toString() {

double fraction = toDouble();

return numerator + "/" + denominator + " = " + fraction;

}

/**

* Kuerzt (vereinfacht) den Bruch.

*/

public void shorten() {

int factorC = GCD(numerator, denominator);

numerator = numerator/factorC;

denominator = denominator/factorC;

}

/**

* Erweitert (macht gleichnamig), addiert dann den uebergebenen Bruch.

*/

public Fraction add(Fraction f) {

numerator = numerator * f.denominator + f.numerator * denominator;

denominator = denominator * f.denominator;

cancel();

}

/**

* Multipliziert mit dem uebergebenen Bruch.

*/

public Fraction multiply(Fraction f) {

numerator = numerator * f.numerator;

denominator = denominator * f.denominator;

cancel();

}

/**

* Bildet den Kehrwert, wenn der Zaehler ungleich Null ist.

* Sonst wird der Bruch unveraendert zurueckgegeben.

*/

public Fraction reciprocal() {

}

/**

* Dividiert durch den uebergebenen Bruch

* (unter Verwendung von Kehrwert und Multiplikation).

*/

public Fraction divide(Fraction f) {

numerator = numerator * f.denominator;

denominator = denominator * f.numerator;

cancel();

}

}
Java, Bruch, Programmiersprache, kürzen, Gleitkommadarstellung
Sie erzählt immer noch lügen über mich?

Meine Ex-Freundin macht mir nur Probleme. Damit ihr erstmal wisst was ich meine. Sie sagt dass sie Schwanger von mir ist obwohl wir nie was hatten und ich deshalb gefühlte 15 mal diesen Monat zur Polizei musste weil sie 13 ist und ich 15 und jetzt ist was richtig schlimmes passiert

So als erstes mal habe ich zwei Schwestern und einen Bruder (der aber mit der Geschichte jetzt nichts zu tun hat) ich habe eine ältere Schwester sie ist 21 und eine jüngere Schwester sie ist 9 und vor zwei Tagen wurde meinem Vater im Bus sein Hausschlüssel und sein Portmone mit 230€ und Bannkkarte drinnen geklaut die bankkarte hat er sofort sperren lassen. so und Heute morgen waren unsere Eltern mit unserem Bruder weg für so 3 Stunden weil sie was mit uns machen wollten ich und meine jüngere Schwester wollten Zuhause bleiben und sie meinten es ist okay dann wollten wir für uns Brötchen holen und sind kurz zu Rewe gegangen. Dauert zu fuß ca. 8 Minuten

Als wir zurück gekommen sind wollte ich gerade die Wohnungstür aufschließen ich habe meinen Rucksack abgenommen ( in dem waren auch die Brötchen ) und dann kam meine Ex-Feundin aus der Wohnung mit meinem Ipad und einem Pullover von mir

das ipad und den pullover hatte ich neu zu weihnachten bekommen und dann hat meine schwester versucht den weg zu versperren und meine ex hat sie richtig die treppe runtergeschubst und dann hat sie die polizei angerufen dass ich angeblich sie zu mir nachhause eingeladen habe und wollte dass sie alkohol trinkt obwohl sie schwanger ist. meine Schwester musste ins krankenhaus und wird da auch erstmal bleiben weil meine ex ihr den arm GEBROCHEN hat und jetzt will mir die Polizei auch noch nicht glauben. genau so wenig wie meiner schwester

was soll ich noch machen ich kann es nicht mehr...

Liebe, Schule, Mädchen, Beziehung, Sex, Einbruch, Arm, brechen, Bruch, Ex-Freundin, schwanger, Stalker, Streit, Stalkerin

Meistgelesene Beiträge zum Thema Bruch