Базовый калькулятор на java

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Calculator console application in Java

OpenGenus/calculator-in-java

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Calculator Console Application

This is a simple calculator application that takes a mathematical expression as input and evaluates it. The application is written in Java and has two main files: main.java and helper.java .

This file contains the main function, which takes input from the user, calls the evaluate method from the Helper class, and prints the result.

This file contains the methods evaluate , hasPrecedence , and applyOp .

The evaluate method takes a string input and evaluates it as a mathematical expression using the Shunting Yard algorithm. It uses two stacks, one for operands and one for operators. The method converts the input string from infix notation to postfix notation and then evaluates it.

hasPrecedence(char op1, char op2)

The hasPrecedence method compares the precedence of two operators, op1 and op2 . It returns true if op1 has higher or equal precedence than op2 , and false otherwise. This method is used in the evaluate method to ensure that the operators are applied in the correct order.

applyOp(char op, double b, double a)

Читайте также:  Упражнения для изучения питона

The applyOp method takes an operator, op , and two operands, a and b , and applies the operator to the operands. It returns the result of the operation. This method is used in the evaluate method to apply the operators to the operands.

  1. Clone the repository git clone https://github.com/OpenGenus/calculator-in-java.git
  2. Open the project in your preferred IDE
  3. Compile and run the main.java file
  4. Input the mathematical expression you want to evaluate
  5. The result will be displayed on the console

Note: The calculator only supports basic arithmetic operations such as addition, subtraction, multiplication, and division. It also supports the use of parentheses.

For the full explanation of the project, visit the link.

Источник

Базовый калькулятор на Java

В этом руководстве мы реализуем базовый калькулятор на 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 /");   > 

Затем мы можем показать ошибки для недопустимых операций:

Пользовательские входы сначала проверяются. После этого результат расчета будет отображаться в виде:

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 . Поэтому его следует хранить в переменной большего типа данных , например, типа double .

4. Вывод​

В этом руководстве мы реализовали базовый калькулятор на Java, используя две разные конструкции. Мы также убедились, что входные данные проверяются перед их дальнейшей обработкой.

Источник

Базовый калькулятор на Java

Узнайте, как реализовать базовый калькулятор на 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 = 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 /"); >

Тогда мы можем показать ошибки для недопустимых операций:

Вводимые пользователем данные сначала проверяются. После этого результат расчета будет отображаться в виде:

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

Аналогично, мы можем использовать оператор Java switch:

Мы можем использовать переменную для хранения результатов расчета. В результате его можно распечатать в конце. В этом случае System.out.println будет использоваться только один раз.

Кроме того, максимальный диапазон для расчетов составляет 2147483647. Следовательно, если мы превысим его, мы будем переполняться из типа данных int . Поэтому он должен храниться в переменной типа данных большего размера , например, типа данных double .

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

В этом уроке мы реализовали базовый калькулятор на Java, используя две различные конструкции. Мы также убедились, что входные данные проверены перед их дальнейшей обработкой.

Источник

Базовый калькулятор на Java

В этом руководстве мы реализуем базовый калькулятор на 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 /"); >

Тогда мы можем показать ошибки для недопустимых операций:

Сначала проверяются вводимые пользователем данные. После этого результат расчета будет отображаться как:

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

Точно так же мы можем использовать оператор переключения Java :

Мы можем использовать переменную для хранения результатов расчета. В результате его можно распечатать в конце. В этом случае System.out.println будет использоваться только один раз.

Кроме того, максимальный диапазон для вычислений — 2147483647. Следовательно, если мы его превысим, произойдет переполнение из типа данных int . Следовательно, он должен храниться в переменной большего типа данных, например, типа данных double .

4. Вывод

В этом руководстве мы реализовали базовый калькулятор на Java, используя две разные конструкции. Мы также убедились, что входные данные проверены перед их дальнейшей обработкой.

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

Популярные посты

Источник

Оцените статью