// Demonstrate Rational data abstraction import java.util.*; public class RationalDemo { // main(): application entry point public static void main(String[] args) { Scanner stdin = new Scanner(System.in); System.out.println(); // extract values for rationals r and s Rational r = new Rational(); System.out.print("Enter numerator of a rational number: "); int a = stdin.nextInt(); System.out.print("Enter denominator of a rational number: "); int b = stdin.nextInt(); r.setNumerator(a); r.setDenominator(b); System.out.println(); System.out.println(); Rational s = new Rational(); System.out.print("Enter numerator of a rational number: "); int c = stdin.nextInt(); System.out.print("Enter denominator of a rational number: "); int d = stdin.nextInt(); s.setNumerator(c); s.setDenominator(d); // operate on r and s Rational sum = r.add(s); Rational difference = r.subtract(s); Rational product = r.multiply(s); Rational quotient = r.divide(s); // display operation results System.out.println("For r = " + r.toString() + " and s = " + s.toString()); System.out.println(" r + s = " + sum.toString()); System.out.println(" r - s = " + difference.toString()); System.out.println(" r * s = " + product.toString()); System.out.println(" r / s = " + quotient.toString()); System.out.println(); System.out.println(); } }