Riporto il codice per creare una semplice calcolatrice che faccia somme, sottrazioni, moltiplicazini e divisioni.
[PHP]import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Scanner;
public class Calcolatrice {
public static void main(String[] args){
char xxx;
String operatore;
double a,b,risultato;
//BufferedReader in2 = new BufferedReader(new InputStreamReader(System.in));
Scanner in = new Scanner(System.in);
System.out.println("Primo operando?"); a=in.nextInt();
Console.scriviStringa("Secondo operando?"); b=in.nextInt();
System.out.println("Operatore?"); operatore=in.next();
xxx = operatore.charAt(0);
switch(xxx){
case '+': {risultato=a+b; Console.scriviStringa("Risultato"); Console.scriviReale(risultato); break;}
case '-': {risultato=a-b; Console.scriviStringa("Risultato"); Console.scriviReale(risultato); break;}
case '*': {risultato=a*b; Console.scriviStringa("Risultato"); Console.scriviReale(risultato); break;}
case '/': {risultato=a/b; Console.scriviStringa("Risultato"); Console.scriviReale(risultato); break;}
default: Console.scriviStringa("Operatore non valido!"); break;
}
}
}[/PHP]
Le mie banali (ma non per me) domande:
- Perchè se uso "BufferedReader" al posto di "Scanner" non ho la possibilità di inserire il secondo operando ottenendo subito la domanda dell'operatore?
- Perchè se uso "BufferedReader" devo usare un blocco try/catch per le eccezioni mentre con "Scanner" no?
Grazie 1000 per l'aiuto.