Skip to content

A primitive console calculator - converter. Test task Kata Academy.

Notifications You must be signed in to change notification settings

JcoderPaul/KataCalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Консольное приложение "Калькулятор" (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 / III

Output: II


Input: I - II

Output: throws Exception //т.к. в римской системе нет отрицательных чисел


Input: I + 1

Output: throws Exception //т.к. используются одновременно разные системы счисления


Input: 1

Output: throws Exception //т.к. строка не является математической операцией


Input: 1 + 2 + 3

Output: throws Exception //т.к. формат математической операции не удовлетворяет заданию - три операнда и две операции


About

A primitive console calculator - converter. Test task Kata Academy.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages