public class Rational { ///////// // Fields private static int numRationals = 0; private int numerator = 0; // Zähler private int denominator = 0; // Nenner /////////////// // Constructors public Rational() { incCount(); } public Rational(int numerator) { this(numerator,1); } public Rational(int numerator, int denominator) { this.denominator = denominator; // this als Bereichsoperator this.numerator = numerator; incCount(); } ////////////// // Manipulator public void setDenominator(int value) { denominator = value; } public void setNumerator(int value) { numerator = value; } //////////// // Selectors public int getDenominator() { return denominator; } public int getNumerator() { return numerator; } ////// // Add: // Addiert zu dieser rationalen Zahl die rationale Zahl toadd. public void add(Rational toadd) { numerator = numerator * toadd.denominator + toadd.numerator * denominator; denominator *= toadd.denominator; } public static Rational xadd(Rational A, Rational B) { return new Rational( A.numerator * B.denominator + B.numerator * A.denominator, A.denominator * B.denominator ); } //////// // Print public String toString() { return "Rational: (" + numerator + "/" + denominator +")"; } ///////////////// // Privat-Section private void incCount() { numRationals ++; } private static int getRationals() { return numRationals; } }