Package it.unimi.di.prog2.h11
Class Frazione
java.lang.Object
it.unimi.di.prog2.h11.Frazione
Una frazione.
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprivate
Frazione
(int num, int den) Costruisce una frazione dati numeratore e denominatore (parziale). -
Method Summary
Modifier and TypeMethodDescriptionint
den()
Restituisce il denominatore.boolean
private static final long
gcd
(long a, long b) Calcola il massimo comun divisore tra due interi.int
hashCode()
private static Frazione
norm
(long num, long den) Fabbrica una frazione dati numeratore e denominatore.int
num()
Restituisce il numeratore.static Frazione
numDen
(int num, int den) Fabbrica una frazione dati numeratore e denominatore.prodotto
(int n) Restituisce la frazione ottenuta moltiplicando questa frazione per una intero dato.Restituisce la frazione ottenuta moltiplicando questa frazione per una frazione data.Restituisce la frazione ottenuta sommando questa frazione con una frazione data.toString()
-
Field Details
-
num
private final int numIl numeratore della frazione. -
den
private final int denIl denominatore della frazione. -
UNO
La fazione 1. -
ZERO
La frazione 0
-
-
Constructor Details
-
Frazione
private Frazione(int num, int den) Costruisce una frazione dati numeratore e denominatore (parziale).- Parameters:
num
- il numeratore.den
- il denominatore (deve essere diverso da 0).
-
-
Method Details
-
numDen
Fabbrica una frazione dati numeratore e denominatore.Nel caso in cui
num == 0
verrà restituito il singolettoZERO
, similmente nel caso in cuinum == den
verrà restituito il singolettoUNO
.- Parameters:
num
- il numeratore.den
- il denominatore.- Returns:
- la frazione num/den.
- Throws:
IllegalArgumentException
- seden == 0
.
-
norm
Fabbrica una frazione dati numeratore e denominatore.Nel caso in cui
num == 0
verrà restituito il singolettoZERO
, similmente nel caso in cuinum == den
verrà restituito il singolettoUNO
.- Parameters:
num
- il numeratore.den
- il denominatore.- Returns:
- la frazione num/den.
- Throws:
IllegalArgumentException
- seden == 0
.
-
num
public int num()Restituisce il numeratore.- Returns:
- il numeratore (se la frazione è negativa, sarà negativo).
-
den
public int den()Restituisce il denominatore.- Returns:
- il denominatore (è sempre positivo).
-
somma
Restituisce la frazione ottenuta sommando questa frazione con una frazione data.- Parameters:
f
- la frazione da sommare.- Returns:
- la frazione
this + f
. - Throws:
NullPointerException
- sef
ènull
.
-
prodotto
Restituisce la frazione ottenuta moltiplicando questa frazione per una frazione data.- Parameters:
f
- la frazione da moltiplicare.- Returns:
- la frazione
this * f
. - Throws:
NullPointerException
- sef
ènull
.
-
prodotto
Restituisce la frazione ottenuta moltiplicando questa frazione per una intero dato.- Parameters:
n
- l'intero da moltiplicare.- Returns:
- la frazione
this * n
.
-
gcd
private static final long gcd(long a, long b) Calcola il massimo comun divisore tra due interi.Questa funzione accetta e restituisce argomenti di tipo
long
, questo può essere utile per trattare frazioni che ridotte ai minimi termini possono essere rappresentate tramite interi di tipoint
.- Parameters:
a
- il primo intero.b
- il secondo intero.- Returns:
- il loro MCD (se
b != 0
altrimentia
).
-
equals
-
hashCode
public int hashCode() -
toString
-