Создать консольное приложение "Калькулятор".
Приложение должно читать из консоли введенную пользователем строку: числа, арифметические операции проводимые между ними и выводить в консоль результат их выполнения.
- Реализуй класс 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 //т.к. формат математической операции не удовлетворяет заданию - три операнда и две операции