Основен калкулатор в Java

1. Общ преглед

В този урок ще внедрим основен калкулатор в Java, поддържащ операции по събиране, изваждане, умножение и деление.

Също така ще вземем оператора и операндите като входни данни и ще обработим изчисленията въз основа на тях.

2. Основна настройка

Първо, нека покажем малко информация за калкулатора:

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");

Сега, нека използваме java.util.Scanner, за да вземем потребителските входове:

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();

Тъй като приемаме входни данни в системата, трябва да ги потвърдим. Например, ако операторът не е +, -, * или /, тогава нашият калкулатор трябва да извика лошия вход. По същия начин, ако въведем второто число като 0 за операция на разделяне, резултатите няма да бъдат добри.

И така, нека приложим тези проверки.

Първо, нека се съсредоточим върху ситуацията, когато операторът е невалиден:

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

След това можем да покажем грешки за невалидни операции:

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

Потребителските входове първо се валидират. След това резултатът от изчислението ще се покаже като:

=

3. Обработка на изчисления

Първо, можем да използваме конструкция if-else за обработка на изчисления

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."); }

По същия начин можем да използваме оператор за превключване на 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; }

Можем да използваме променлива за съхраняване на резултатите от изчислението. В резултат на това той може да бъде отпечатан в края. В този случай System.out.println ще се използва само веднъж.

Също така, максималният диапазон за изчисленията е 2147483647. Следователно, ако го надвишим, ще препълним от тип данни int . Следователно той трябва да се съхранява в променлива от по-голям тип данни, например двоен тип данни.

4. Заключение

В този урок внедрихме Basic Calculator в Java, използвайки две различни конструкции. Също така се уверихме, че входните данни са валидирани, преди да ги обработим допълнително.

Както винаги, кодът е достъпен в GitHub.