// // P.87 // class Fraction { private int nume, deno; public Fraction() { nume=0; deno=1; } public Fraction(int n, int d) { nume=n; deno=d; } public void set(int n, int d) { nume=n; deno=d; } public Fraction add(Fraction x) { Fraction ans = new Fraction(); int d = deno*x.deno; int n = nume*x.deno + deno*x.nume; ans.set(n, d); return ans; } public Fraction mul(Fraction x) { Fraction ans = new Fraction(); int n = nume * x.nume; int d = deno * x.deno; ans.set(n, d); return ans; } public void writeOut() { System.out.print(nume+"/"+deno); } // driver, or client code in main public static void main(String[] args) { // p.88 Fraction x = new Fraction(1, 2); // x=1/2 Fraction y = new Fraction(3, 4); Fraction z = new Fraction(); z = x.add(y); // Q: output x? x.writeOut(); System.out.println(); y.writeOut(); System.out.println(); z.writeOut(); System.out.println("\n\nDone.\n\n"); } }