Calcolatrice di base in Java

1. Panoramica

In questo tutorial, implementeremo un calcolatore di base in Java che supporta operazioni di addizione, sottrazione, moltiplicazione e divisione.

Prenderemo anche l'operatore e gli operandi come input ed elaboreremo i calcoli basati su di essi.

2. Configurazione di base

Per prima cosa, mostriamo alcune informazioni sulla calcolatrice:

System.out.println("---------------------------------- \n" + "Welcome to Basic Calculator \n" + "----------------------------------"); System.out.println("Following operations are supported : \n" + "1. Addition (+) \n" + "2. Subtraction (-) \n" + "3. Multiplication (*) \n" + "4. Division (/) \n");

Ora, usiamo java.util.Scanner per prendere gli input dell'utente:

Scanner scanner = new Scanner(System.in); System.out.println("Enter an operator: (+ OR - OR * OR /) "); char operation = scanner.next().charAt(0); System.out.println("Enter the first number: "); double num1 = scanner.nextDouble(); System.out.println("Enter the second number: "); double num2 = scanner.nextDouble();

Dato che stiamo inserendo gli input nel sistema, dobbiamo convalidarli. Ad esempio, se l'operatore non è +, -, * o /, la nostra calcolatrice dovrebbe richiamare l'input errato. Allo stesso modo, se inseriamo il secondo numero come 0 per l'operazione di divisione, i risultati non saranno buoni.

Quindi, implementiamo queste convalide.

Innanzitutto, concentriamoci sulla situazione in cui l'operatore non è valido:

if (!(operation == '+' || operation == '-' || operation == '*' || operation == '/')) { System.err.println("Invalid Operator. Please use only + or - or * or /"); }

Quindi possiamo mostrare errori per operazioni non valide:

if (operation == '/' && num2 == 0.0) { System.err.println("The second number cannot be zero for division operation."); }

Gli input dell'utente vengono prima convalidati. Successivamente, il risultato del calcolo verrà visualizzato come:

=

3. Elaborazione dei calcoli

In primo luogo, possiamo utilizzare un costrutto if-else per elaborare i calcoli

if (operation == '+') { System.out.println(num1 + " + " + num2 + " = " + (num1 + num2)); } else if (operation == '-') { System.out.println(num1 + " - " + num2 + " = " + (num1 - num2)); } else if (operation == '*') { System.out.println(num1 + " x " + num2 + " = " + (num1 * num2)); } else if (operation == '/') { System.out.println(num1 + " / " + num2 + " = " + (num1 / num2)); } else { System.err.println("Invalid Operator Specified."); }

Allo stesso modo, possiamo usare un'istruzione switch Java :

switch (operation) { case '+': System.out.println(num1 + " + " + num2 + " = " + (num1 + num2)); break; case '-': System.out.println(num1 + " - " + num2 + " = " + (num1 - num2)); break; case '*': System.out.println(num1 + " x " + num2 + " = " + (num1 * num2)); break; case '/': System.out.println(num1 + " / " + num2 + " = " + (num1 / num2)); break; default: System.err.println("Invalid Operator Specified."); break; }

Possiamo usare una variabile per memorizzare i risultati del calcolo. Di conseguenza, può essere stampato alla fine. In questo caso, System.out.println verrà utilizzato solo una volta.

Inoltre, l'intervallo massimo per i calcoli è 2147483647. Di conseguenza, se lo superiamo, andremo in overflow da un tipo di dati int . Pertanto, dovrebbe essere memorizzato in una variabile di un tipo di dati più grande, ad esempio, un tipo di dati doppio .

4. Conclusione

In questo tutorial, abbiamo implementato una calcolatrice di base in Java, utilizzando due diversi costrutti. Ci siamo anche assicurati che gli input fossero convalidati prima di elaborarli ulteriormente.

Come sempre, il codice è disponibile su GitHub.