Calcolatrice Java con Switch Case per Operazioni Matematiche
Calcolatrice Scientifica - Spiegazione del Codice
Panoramica generale
Questo programma Java implementa una calcolatrice scientifica semplificata che permette di eseguire tre operazioni matematiche di base: somma, sottrazione e moltiplicazione. L'utente può scegliere quale operazione eseguire e inserire due numeri per ottenere il risultato.
Struttura del programma
Import e dichiarazioni iniziali
import java.util.Scanner;
Il programma importa la classe Scanner che serve per leggere l'input dell'utente dalla tastiera.
Variabili principali
All'inizio del metodo main vengono dichiarate le seguenti variabili:
Scanner input: oggetto per leggere i dati inseriti dall'utenteint num1eint num2: i due numeri su cui eseguire l'operazioneint scelta: memorizza quale operazione l'utente vuole eseguireint totale: contiene il risultato dell'operazione
Funzionamento del programma
1. Presentazione del menu
System.out.println("Calcolatrice scientifica");
System.out.println("1 -> somma, 2 -> sottrazione, 3 -> moltiplicazione");
Il programma mostra all'utente le opzioni disponibili:
- 1 per la somma
- 2 per la sottrazione
- 3 per la moltiplicazione
2. Acquisizione dei dati
Il programma chiede all'utente di inserire:
- La scelta dell'operazione (1, 2 o 3)
- Il primo numero
- Il secondo numero
3. Esecuzione dell'operazione
Il programma utilizza un costrutto switch-case per eseguire l'operazione scelta:
switch(scelta){
case 1:
// somma
totale = num1 + num2;
System.out.println("La somma di "+num1+" + "+num2+" e' "+totale);
break;
case 2:
// sottrazione
totale = num1 - num2;
System.out.println("La differenza tra "+num1+" - "+num2+" e' "+totale);
break;
case 3:
// moltiplicazione
totale = num1 * num2;
System.out.println("Il prodotto tra "+num1+" * "+num2+" e' "+totale);
break;
default:
System.out.println("ERRORE: non hai inserito una scelta corretta");
}
Caratteristiche importanti
Switch vs If-Else
Il codice mostra due approcci per gestire le scelte multiple:
- Versione commentata: utilizza
if-else if-else - Versione attiva: utilizza
switch-case
Entrambi gli approcci producono lo stesso risultato, ma il switch-case è spesso più leggibile quando si hanno molte opzioni.
Gestione degli errori
Il programma include la gestione di input non validi attraverso il caso default, che viene eseguito quando l'utente inserisce un numero diverso da 1, 2 o 3.
Parole chiave break
Ogni case termina con break per evitare che l'esecuzione continui nei casi successivi (fenomeno chiamato "fall-through").
Esempio di esecuzione
Se l'utente sceglie:
- Operazione: 1 (somma)
- Primo numero: 5
- Secondo numero: 3
Il programma mostrerà: "La somma di 5 + 3 e' 8"
Limitazioni
- Il programma accetta solo numeri interi
- Gestisce solo tre operazioni di base
- Non include la divisione (che richiederebbe controlli aggiuntivi per evitare la divisione per zero)
- Esegue una sola operazione per volta
Codice realizzato
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
*/
package calcolatricescientifica;
import java.util.Scanner;
/**
*
* @author perna.mario
*/
public class CalcolatriceScientifica {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int num1 = 0;
int num2 = 0;
int scelta;
int totale = 0;
System.out.println("Calcolatrice scientifica");
System.out.println("1 -> somma, 2 -> sottrazione, 3 -> moltiplicazione");
scelta = input.nextInt();
// inserimento numero 1
System.out.println("Inserisci il primo numero");
num1 = input.nextInt();
// inserimento numero 2
System.out.println("Inserisci il secondo numero");
num2 = input.nextInt();
// implementazione delle operazioni
/*
if(scelta == 1){
// somma
totale = num1 + num2;
System.out.println("La somma di "+num1+" + "+num2+" e' "+totale);
}else if (scelta == 2){
//sottrazione
totale = num1 - num2;
System.out.println("La differenza tra "+num1+" - "+num2+" e' "+totale);
}else if (scelta == 3){
//moltiplicazione
totale = num1 * num2;
System.out.println("Il prodotto tra "+num1+" * "+num2+" e' "+totale);
}else{
System.out.println("ERRORE: non hai inserito una scelta corretta");
}*/
// versione 2 usando lo switch / case
switch(scelta){
case 1:
// somma
totale = num1 + num2;
System.out.println("La somma di "+num1+" + "+num2+" e' "+totale);
break;
case 2:
//sottrazione
totale = num1 - num2;
System.out.println("La differenza tra "+num1+" - "+num2+" e' "+totale);
break;
case 3:
//moltiplicazione
totale = num1 * num2;
System.out.println("Il prodotto tra "+num1+" * "+num2+" e' "+totale);
break;
default:
System.out.println("ERRORE: non hai inserito una scelta corretta");
}
}
}