Ciao, volevo condividere e vedere se si poteva migliorare la calcolatrice che ho scritto:
codice:
package com.calcolatrice;
class Calcolatrice
{
private double risultato;
protected String stringa;
public int somma(int num_1, int num_2)
{
risultato = num_1 + num_2;
stringa = "somma";
return (int)risultato;
}
public int differenza(int num_1, int num_2)
{
risultato = num_1 - num_2;
stringa = "differenza";
return (int)risultato;
}
public int moltiplicazione(int num_1, int num_2)
{
risultato = num_1 * num_2;
stringa = "moltiplicazione";
return (int)risultato;
}
public double divisione(int num_1, int num_2)
{
if(num_2 == 0)
{
System.out.println("l'operzione è impossibile: il divisore è uguale a 0. Riprovare");
}
else
{
risultato = num_1 / num_2;
stringa = "divisione";
}
return risultato;
}
public double potenza(int num_1, int num_2)
{
if(num_2 == 0)
{
risultato = 1;
}
else
{
risultato = 1;
for(int i = 0; i < num_2; i++)
{
risultato = risultato * num_1;
}
}
stringa = "potenza";
return risultato;
}
}
qui c'è il client
codice:
package com.calcolatrice;
class Calcolatrice_Client
{
public static void main(String[] args)
{
Calcolatrice action = new Calcolatrice();
int a = (int)(Math.random()*100);
int b = (int)(Math.random()*100);
while(true)
{
int operazione = (int)(Math.random()*10);
if( operazione < 6 && operazione != 0 )
{
String stringa = action.stringa;
long result;
switch(operazione)
{
case 1:
result = (long)action.somma(a, b);
stringa = action.stringa;
System.out.println("Il risultato della " + stringa + " fra " + a + " e " + b + " equivale a: " + result );
break;
case 2:
result = (long)action.differenza(a, b);
stringa = action.stringa;
System.out.println("Il risultato della " + stringa + " fra " + a + " e " + b + " equivale a: " + result );
break;
case 3:
result = (long)action.moltiplicazione(a, b);
stringa = action.stringa;
System.out.println("Il risultato della " + stringa + " fra " + a + " e " + b + " equivale a: " + result );
break;
case 4:
result = (long)action.divisione(a, b);
stringa = action.stringa;
System.out.println("Il risultato della " + stringa + " fra " + a + " e " + b + " equivale a: " + result );
break;
case 5:
b = (int)(Math.random()*10);
result = (long)action.potenza(a, b);
stringa = action.stringa;
System.out.println("Il risultato della " + stringa + " fra " + a + " e " + b + " equivale a: " + result );
break;
default:
System.out.println("Il numero dell'operazione: " + operazione);
}
break;
}
}
}
}