public class Rational {
    // Attribute:
    private int zaehler, nenner;
    // Konstruktoren:
    public Rational(int x, int y) {
        zaehler = x;
        nenner  = y;
    }
    public Rational(int x) {
        zaehler = x;
        nenner  = 1;
    }
    // Objekt-Methoden:
    public Rational add(Rational r) {
        int x = zaehler * r.nenner + r.zaehler * nenner;
        int y = nenner * r.nenner;
        return new Rational(x,y);
    }
    public boolean isEqual(Rational r) {
        return zaehler * r.nenner == r.zaehler * nenner;
    }
    public String toString() {
        if (nenner == 1) return "" + zaehler;
        if (nenner  > 0) return zaehler +"/"+ nenner;
        return (-zaehler) +"/"+ (-nenner);
    }
    public static Rational[] intToRationalArray(int[] a) {
        Rational[] b = new Rational[a.length];
        for(int i=0; i < a.length; ++i)
            b[i] = new Rational(a[i]);
        return b;
    }
    // Jetzt kommt das Hauptprogramm
    public static void main(String[] args) {
        Rational a = new Rational(1,2);
        Rational b = new Rational(3,4);
        Rational c = a.add(b);

        System.out.println(c.toString());
    } // end of main()  
} // end of class Rational
