Sei sulla pagina 1di 2

PROGRAMMAZIONE AVANZATA– UNIVERSITÀ

DOCENTE: ING. GIANLUIGI GRECO


DELLA CALABRIA
Esercitazione 1
ESERCITATORE: ING. LUIGI GRANATA

STRUTTURE DI CONTROLLO

Si vuole definire una classe Calcolatrice che sia capace di eseguire le seguenti operazioni:
• somma
• sottrazione
• moltiplicazione
• divisione
• sommatoria dei numeri compresi tra un estremo inferiore ed uno superiore

SUGGERIMENTI PER LA SOLUZIONE

Implementare la classe in modo da utilizzare quante più possibili strutture di controllo del
linguaggio Java.
In particolare:
• if – then – else
• for
• while
• switch

Per la gestione dell’input da console si consiglia di utilizzare la classe Console.

SOLUZIONE

Legge un Double dalla


public class Calcolatrice { console.
double operando1;
double operando2;
String operatore;

public void setOperando1(){


operando1=Console.readDouble("Inserisci il primo Operando: ");
}

public void setOperando2(){


operando2=Console.readDouble("Inserisci il secondo Operando: ");
}
PROGRAMMAZIONE AVANZATA– UNIVERSITÀ DELLA CALABRIA
DOCENTE: ING. GIANLUIGI GRECO
ESERCITATORE: ING. LUIGI GRANATA

Legge da console una


stringa. Se questa
corrisponde ad un
public boolean setOperatore(){ operatore valido ritorna
operatore=Console.readString("Inserisci l'Operatore (+,-,*,/,#): "); true, altrimenti false.
if( operatore.equals("+")
|| operatore.equals("-")
|| operatore.equals("*")
|| operatore.equals("/")
|| operatore.equals("#")
)
return true;
else
return false;
}

public double calcola(){


double risultato=0;
switch (operatore.charAt(0)) {
case '+':
risultato=operando1+operando2;
break;
case '-':
risultato=operando1-operando2;
break;
case '*':
risultato=operando1*operando2;
break;
case '/':
risultato=operando1/operando2;
break;
case '#':
for(int i=(int)operando1;i<=(int)operando2;i++)
risultato=risultato+i;
}
return risultato;
}
Viene invocato il metodo
public void eseguiCalcolo(){ setOperatore() fin quando
double risultato;
setOperando1();
non viene letto un
boolean operatoreOK=setOperatore(); operatore valido. (può
while(!operatoreOK) essere sostituito con
operatoreOK=setOperatore(); while(!setOperatore()); )
setOperando2();
risultato=calcola();
System.out.println("Il Risultato è: "+risultato);
}

public static void main(String[] args) {


Calcolatrice c=new Calcolatrice();
String risposta;
do{
c.eseguiCalcolo();
System.out.println("Vuoi eseguire un altro Calcolo? ([s]|n)");
risposta=Console.readString();
}while(!risposta.equals("n"));
}
}