Page 1343 - Informatica dalla A a Z
P. 1343
public Frazione(int num, int den)
{
if (num > 0)
{
numeratore = num;
}
if ( den > 0)
{
denominatore = den;
}
// metodo mascherato
private int calcolaMCD(int a, int b)
{
int temp, resto;
// ordina i due valori
if ( a < b)
{
temp = a;
a = b;
b = temp;
}
resto = a % b;
while (resto ! = 0)
{
a = b;
b = resto;
resto = a % b;
}
return b;
}
// metodo di interfaccia
public boolean semplificaQ
{
int mcd = calcolaMCD(numeratore, denominatore);
if (mcd != 1)
{
numeratore = numeratore / mcd;
denominatore = denominatore / mcd;
return true;
}
return false;
1339