Subato

Resource Files

Ratio

Implementieren Sie die Klassen Ratio. Sie soll rationale Zahlen repräsentieren. Nierzu habe sie Felder mit den Namen zaehler und nenner jeweils vom Typ long.

  • Versehen Sie die Klassen mit einem adäquaten Konstruktor, so dass Sie zum Beispiel mit new Ratio(2,5) ein Objekt, das den Bruch $\frac{2}{5}$ repräsentiert, erzeugen können.
  • Schreiben Sie eine Methode toString, die Ratio-Objekt für das Satzprogramm LaTeX wie folgt als Zeichenkette darstellt: 2\frac{2}{5}. Dieses in LaTeX als $2\frac{2}{5}$ gesetzt. Es soll also der ganzzahlige Anteil angezeigt werden und dann der Rest als Bruch. Ist der ganzzahlige Anteil der Bruchzahl 0, so fällt dieser weg und nur ein Bruch wird angezeigt
  • Schreiben Sie eine Methode kuerzen(), die den Bruch so normalisiert, dass Zähler und Nenner nur noch 1 als größten gemeinsamen Teiler haben und höchsten der Zähler eine negative Zahl ist. Erweitern Sie dabei den Konstruktor soweit, dass nur gekürzte Bruchobjekte erzeugt werden. Hierzu ist die Klasse Euklid aus der letzten Aufgabe auf der Testumgebung hinterlegt.
  • Schreiben Sie eine Methode toDouble(), die die Bruchzahl als double Wert berechnet..
  • Schreiben Sie eine Methode mult(Ratio that), die das Produkt zweier rationaler Zahlen in gekürzter Form erzeugt.
  • Schreiben Sie eine Methode div(Ratio that), die den Quotienten zweier rationaler Zahlen in gekürzter Form erzeugt.
  • Schreiben Sie eine Methode add(Ratio that), die die Summe zweier rationaler Zahlen in gekürzter Form erzeugt.
  • Schreiben Sie eine Hauptmethode, mit ein paar eigenen Testaufrufen.

class Ratio{ long zaehler; long nenner; Ratio(long zaehler, long nenner){ //TODO } public String toString(){ //TODO return ""; } public void kuerzen(){ //TODO } Ratio mult(Ratio that){ //TODO return null; } Ratio div(Ratio that){ //TODO return null; } Ratio add(Ratio that){ //TODO return null; } double toDouble(){ //TODO return 0; } public static void main(String... args){ //TODO } }
java
You are not logged in and therefore you cannot submit a solution.