/** * Rationale Zahl */ public class RationaleZahl { /** * Leerer Konstruktor, legt die Zahl 0/0 an */ public RationaleZahl() { zaehler = 0; nenner = 0; } /** * Konstruktor, legt die Zahl i/1 an */ public RationaleZahl(int i) { zaehler = i; nenner = 1; } /** * Konstruktor, legt die Zahl z/n an */ public RationaleZahl(int z, int n) { zaehler = z; nenner = n; } /** * Kopier-Konstruktor, kopiert die Werte other.zaehler und other.nenner. */ public RationaleZahl(RationaleZahl other) { other = new RationaleZahl (zaehler, nenner); } /** * Addiert 'other' auf die aktuelle Zahl INPLACE, d.h. der Inhalt der aktuellen Zahl wird veraendert. Der Wert der Zahl 'other' DARF jedoch nicht veraendert werden! */ public void add(RationaleZahl other) { RationaleZahl INPLACE = new RationaleZahl(zaehler,nenner); } /** * Addiert die Konstante 'zahl' auf die aktuelle Zahl INPLACE, d.h. der Inhalt der aktuellen Zahl wird veraendert. */ public void add(int zahl) { // Implementieren sie diese Methode } /** * Subtrahiert 'other' von der aktuelle Zahl INPLACE, d.h. der Inhalt der aktuellen Zahl wird veraendert. Der Wert der Zahl 'other' DARF jedoch nicht veraendert werden! */ public void sub(RationaleZahl other) { // Implementieren sie diese Methode } /** * Subtrahiert die Konstante 'zahl' von der aktuelle Zahl INPLACE, d.h. der Inhalt der aktuellen Zahl wird veraendert. */ public void sub(int zahl) { // Implementieren sie diese Methode } /** * Multipliziert die Rationale Zahl 'other' auf die aktuelle Zahl INPLACE, d.h. der Inhalt der aktuellen Zahl wird veraendert. Der Wert der Zahl 'other' DARF jedoch nicht veraendert werden! */ public void mul(RationaleZahl other) { // Implementieren sie diese Methode } /** * Multipliziert aktuelle Zahl mit der Konstante 'zahl' INPLACE, d.h. der Inhalt der aktuellen Zahl wird veraendert. */ public void mul(int zahl) { // Implementieren sie diese Methode } /** * Dividiert die aktuelle Zahl durch die Rationalen Zahl 'other' INPLACE, d.h. der Inhalt der aktuellen Zahl wird veraendert. Der Wert der Zahl 'other' DARF jedoch nicht veraendert werden! */ public void div(RationaleZahl other) { // Implementieren sie diese Methode } /** * Dividiert die aktuelle Zahl durch die Konstante 'zahl' INPLACE, d.h. der Inhalt der aktuellen Zahl wird veraendert. */ public void div(int zahl) { // Implementieren sie diese Methode } /** * Gibt die Zahl aus */ public void printRat() { System.out.println("(" + zaehler + "/" + nenner + ")"); } /** * Konvertiert die Zahl in ein double */ public double nachDouble() { return (double)zaehler/(double)nenner; } /** * Berechnet den groessten gemeinsamen Teiler der Zahlen 'zahl1' und 'zahl2' */ public static int ggT(int zahl1, int zahl2) { // Implementieren sie diese Methode return 1; // Entfernen sie diese Zeile } /** * Berechnet das kleinste gemeinsame Vielfache der Zahlen 'zahl1' und 'zahl2' */ public static int kgV(int zahl1, int zahl2) { // Implementieren sie diese Methode return 1; // Entfernen sie diese Zeile } /** * Kuerzt die aktuelle Zahl, muss in den relevanten Rechenoperationen aufgerufen werden! */ private void kuerzen() { // Implementieren sie diese Methode } private int zaehler; private int nenner; }