In questo programma imparerai a creare una semplice calcolatrice usando switch … case in Java. Questa calcolatrice potrebbe aggiungere, sottrarre, moltiplicare e dividere due numeri.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:
- Istruzione switch Java
- Java Scanner Class
Esempio: Calcolatrice semplice con istruzione switch
import java.util.Scanner; public class Main ( public static void main(String() args) ( Scanner reader = new Scanner(System.in); System.out.print("Enter two numbers: "); // nextDouble() reads the next double from the keyboard double first = reader.nextDouble(); double second = reader.nextDouble(); System.out.print("Enter an operator (+, -, *, /): "); char operator = reader.next().charAt(0); double result; switch (operator) ( case '+': result = first + second; break; case '-': result = first - second; break; case '*': result = first * second; break; case '/': result = first / second; break; // operator doesn't match any case constant (+, -, *, /) default: System.out.printf("Error! operator is not correct"); return; ) System.out.println(first + " " + operator + " " + second + " = " + result); ) )
Produzione
Immettere due numeri: 1,5 4,5 Immettere un operatore (+, -, *, /): * 1,5 * 4,5 = 6,8
L' *
operatore inserito dall'utente viene memorizzato nella variabile operator utilizzando il next()
metodo Scanner
dell'oggetto.
Allo stesso modo, i due operandi, 1.5 e 4.5 vengono memorizzati nelle variabili prima e seconda rispettivamente utilizzando il nextDouble()
metodo Scanner
dell'oggetto.
Poiché l'operatore *
corrisponde alla condizione when '*':
, il controllo del programma passa a
risultato = primo * secondo;
Questa istruzione calcola il prodotto e memorizza nella variabile result e break
; l'istruzione termina l'istruzione switch.
Infine, l' printf
istruzione viene eseguita.
Nota : abbiamo utilizzato il printf()
metodo invece di println
. Questo perché qui stiamo stampando la stringa formattata. Per saperne di più, visita il metodo Java printf ().