Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jcoderpaul/katacalc
A primitive console calculator - converter. Test task Kata Academy.
https://github.com/jcoderpaul/katacalc
Last synced: 4 days ago
JSON representation
A primitive console calculator - converter. Test task Kata Academy.
- Host: GitHub
- URL: https://github.com/jcoderpaul/katacalc
- Owner: JcoderPaul
- Created: 2024-03-23T07:46:14.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-04-26T06:14:36.000Z (7 months ago)
- Last Synced: 2024-04-26T07:29:17.885Z (7 months ago)
- Language: Java
- Size: 60.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
Awesome Lists containing this project
README
## Консольное приложение "Калькулятор" (KataAcademy)
________________________________________________________________________________________________________________________
### Задание:
Создать консольное приложение "Калькулятор".Приложение должно читать из консоли введенную пользователем строку: числа, арифметические операции проводимые между ними
и выводить в консоль результат их выполнения.
________________________________________________________________________________________________________________________
### Ограничения:
- Реализуй класс Main с методом - public static String calc(String input): метод должен принимать строку с арифметическим
выражением между двумя числами и возвращать строку с результатом их выполнения.
- Разрешено:
- Добавлять свои импорты, классы и методы.
- Добавленные классы не должны иметь модификаторы доступа (public или другие).
- Обязательное требование:
- Калькулятор умеет выполнять операции сложения, вычитания, умножения и деления с двумя числами:
a + b, a - b, a * b, a / b.
- Данные передаются в одну строку (смотри пример выше)!
- Решения, в которых каждое число и арифмитеческая операция передаются с новой строки считаются неверными.
- Калькулятор умеет работать, как с арабскими (1,2,3,4,5...), так и с римскими (I,II,III,IV,V...) числами.
- Калькулятор должен принимать на вход числа от 1 до 10 включительно, но не более.
- На выходе числа не ограничиваются по величине и могут быть любыми.
- Калькулятор умеет работать только с целыми числами.
- Калькулятор умеет работать, или только с арабскими, или только с римскими цифрами одновременно (в одной строке),
при вводе пользователем смешанной строки, например: 3 + II или IV - 9, калькулятор должен выбросить исключение и
прекратить свою работу.
- При вводе римских чисел, ответ должен быть выведен римскими цифрами, соответственно, при вводе арабских чисел -
ответ ожидается (возвращается) арабскими цифрами.
- При вводе пользователем неподходящих чисел приложение выбрасывает исключение и завершает свою работу.
- При вводе пользователем строки, не соответствующей одной из вышеописанных арифметических операций, приложение
выбрасывает исключение и завершает свою работу.
- Результатом операции деления является целое число, остаток отбрасывается.
- Результатом работы калькулятора с арабскими числами могут быть отрицательные числа и ноль.
- Результатом работы калькулятора с римскими числами могут быть только положительные числа, если результат работы
меньше единицы, выбрасывается исключение.
________________________________________________________________________________________________________________________
### Пример работы программы:Input: 1 + 2
Output: 3
________________________________________________________________________________________________________________________
Input: VI / IIIOutput: II
________________________________________________________________________________________________________________________
Input: I - IIOutput: throws Exception //т.к. в римской системе нет отрицательных чисел
________________________________________________________________________________________________________________________
Input: I + 1Output: throws Exception //т.к. используются одновременно разные системы счисления
________________________________________________________________________________________________________________________
Input: 1Output: throws Exception //т.к. строка не является математической операцией
________________________________________________________________________________________________________________________
Input: 1 + 2 + 3Output: throws Exception //т.к. формат математической операции не удовлетворяет заданию - три операнда и две операции
________________________________________________________________________________________________________________________