- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Stream Java (piccolo chiarimento)
-
Stream Java (piccolo chiarimento)
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.
-
Scusate......... mi sono accorto solo ora di ciò che ho postato......
Metto il codice corretto visto che non è possibile editare i post già scritti:[PHP]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)); //CON QUESTO NON VA: NON SI PUO' INSERIRE IL SECONDO OPERANDO Scanner in = new Scanner(System.in); System.out.println("Primo operando?"); a=in.nextInt(); System.out.println("Secondo operando?"); b=in.nextInt(); System.out.println("Operatore?"); operatore=in.next(); xxx = operatore.charAt(0); switch(xxx){ case '+': {risultato=a+b; System.out.println("Risultato"); System.out.println(risultato); break;} case '-': {risultato=a-b; System.out.println("Risultato"); System.out.println(risultato); break;} case '*': {risultato=a*b; System.out.println("Risultato"); System.out.println(risultato); break;} case '/': {risultato=a/b; System.out.println("Risultato"); System.out.println(risultato); break;} default: System.out.println("Operatore non valido!"); break; } }
}[/PHP]
Le domande che volevo porvi sono le solite.......
Grazie ancora.