La classe Rational ha un solo costruttore:
/*
Precondizione: n rappresenta un numero intero
con eventuale segno negativo
d rappresenta un numero naturale maggiore di 0
Postcondizione: crea il numero razionale con n al numeratore e d al denominatore
*/
public Rational (String n, String d)
I metodi pubblici sono i seguenti:
/*
Postcondizione: restituisce una stringa che rappresenta il numeratore
(numero intero in notazione decimale con eventuale segno negativo)
*/
public String numerator()
/*
Postcondizione: restituisce una stringa che rappresenta il denominatore
(numero naturale maggiore di 0 in notazione decimale)
*/
public String denominator()
/*
Precondizione: r != null
Postcondizione: restituisce la somma del ricevente e di r
*/
public Rational add(Rational r)
/*
Precondizione: r != null
Postcondizione: restituisce la differenza tra il ricevente ed r
*/
public Rational subtract(Rational r)
/*
Precondizione: r != null
Postcondizione: restituisce il prodotto del ricevente e di r
*/
public Rational multiply(Rational r)
/*
Precondizione: r != null AND r non e' 0
Postcondizione: restituisce il quoziente tra il ricevente ed r
*/
public Rational divide(Rational r)
Inoltre:
/*
Postcondizione: restituisce una stringa che rappresenta il numero razionale
*/
public String toString()
/*
Postcondizione: restituisce un double che rappresenta il numero razionale
*/
public double doubleValue()
Infine definire un metodo che restituisce oggetti Rational nella cui rappresentazione interna numeratore e denominatore sono normalizzati.
Ovvero tali che: MCD(numeratore,denominatore) = 1.
A tal fine utilizzare il seguente algoritmo per calcolo del
MCD (tale algoritmo si basa sulle seguenti proprieta' del MCD di due numeri
interi positivi: