Hello! This is my first program used Swing GUI widget toolkit for Java and first program at all. It has two modes. First - classic mode, works like Apple's MacOS native calculator and second - engineering mode. Here i used Reverse Polish notation (RPN) algorithm.
You are welcome to comment on the code and let me know what needs to be improved.
The project is managed by Maven. To compile:
mvn compile
to run:
mvn exec:java -Dexec.mainClass="com.igridin.desktop_calculator.DesktopCalculator"
Версия 1.0-SNAPSHOT Реализованные задачи:
Стандартный калькулятор:
- все функции стандартного десктопного Apple_кого калькулятора
- ограничение на ввод цифр
- группировка цифр на разряды
- масштабирование размера шрифта в зависимости от количества цифр
- форматирование результата, добавление экспоненты
- обработка ошибок (деления на ноль, лимита вычислений и т.д.)
- возможность ввода с клавиатуры
- стирание одного символа (BackSpace)
- работа с copy - paste
Инженерный калькулятор
- реализован алгоритм обратной польской записи
- ограничение на ввод цифр
- группировка цифр на разряды
- запись(чтение) значения в память(из памяти), индикатор использования памяти
- индикатор количества открытых скобок
- защита от различных ошибок пользователя:
- количество запятых в значении
- неправильная запись выражения (Например: 13123+34-)
- автоматическая подстановка знака "" и "(" при использовании тригонометрических функций в формате "<функция>("
- несогласованное количество скобок
- запрет на запись в память уравнения, разрешена запись только значения
- и т.д.
- возможность ввода с клавиатуры
- стирание одного символа (BackSpace) или функции полностью со скобкой
- обработка ошибок (деления на ноль, лимита вычислений и т.д.)