Суть задания в прикрепленном файле
Калькулятор_Java
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.
Описание:
Создай консольное приложение “Калькулятор”. Приложение должно читать из консоли введенные пользователем строки, числа, арифметические операции проводимые между ними и выводить в консоль результат их выполнения.
Реализуй класс 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 калькулятор должен выбросить исключение и прекратить свою работу.
- При вводе римских чисел, ответ должен быть выведен римскими цифрами, соответственно, при вводе арабских - ответ ожидается арабскими.
- При вводе пользователем неподходящих чисел приложение выбрасывает исключение и завершает свою работу.
- При вводе пользователем строки, не соответствующей одной из вышеописанных арифметических операций, приложение выбрасывает исключение и завершает свою работу.
- Результатом операции деления является целое число, остаток отбрасывается.
- Результатом работы калькулятора с арабскими числами могут быть отрицательные числа и ноль. Результатом работы калькулятора с римскими числами могут быть только положительные числа, если результат работы меньше единицы, выбрасывается исключение
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 //т.к. формат математической операции не удовлетворяет заданию - два операнда и один оператор (+, -, /, *)
- Похожие заказы
- Системное программирование1 заявкаЗакрыт10 месяцев назад
Нужен разработчик на доработку и модификацию chromium . Обязательно опыт сборки под osx. Модули , в которые нужно внести изменения ( geo, user agent , proxy , canvas , hardware, fingerprint) . Есть готовый ...
Системное программированиенет заявокЗакрыт9 месяцев назад- $20
ВАРИАНТ 2 (Язык C#) Здание: Разработать клиент-северное приложение для решения задачи определения максимальной пропускной способности транспортного графа. Обязательная часть курсовой работы: 1)Разработка клиент-северного приложения, где клиент будет передавать исходную информацию ...
Системное программирование1 заявкаЗакрыт9 месяцев назад Визначення типу рецензії за текстом - https://archive.ics.uci.edu/ml/datasets/Roman+Urdu+Sentiment+Analysis+Dataset+%28RUSAD%29
Системное программированиенет заявокЗакрыт10 месяцев назадЦелью проекта является разработка автоматизированного скрипта на языке программирования Python для работы с биткойн кошельком Electrum. Скрипт должен предоставлять возможность автоматизированного управления кошельком, включая создание новых адресов, отправку и получение биткойнов, получение баланса и выполнение ...
Системное программирование1 исполнительЗакрыт10 месяцев назадРазработать структуру одноуровневой файловой системы, реализуемой на сменном или виртуальном диске. Написать программу, позволяющую формировать каталог, просматривать содержимое каталога, добавлять, удалять, копировать, переименовывать файлы, оценивать размер занятой и свободной памяти
Системное программирование3 заявкиЗакрыт10 месяцев назадНужно создать микросервис, который на входе принимает команды о покупке или продаже nft. Микросервис должен через наш кошелек работать напрямую через блокчейн. Возможно нужно будет подвязать какой то сервис для работы с блокчейном. Так же, возможно ...
Системное программирование1 заявкаЗакрыт10 месяцев назад- $13
Необходимо написать процедуру на Fasm, которая будет вызываться из visual studio C++. Процедура должна получать делимое и делитель (в двоичной форме), в процессе работы получать частное и остаток. Под словом многобитные подразумеваю 32 бит или более.
Системное программирование2 заявкиЗакрыт10 месяцев назад - $2500
Требуется опытный Front-end Developer на full-time. Проект по разработке визуального конструктора сайтов. Пример задач ниже. Разработчику нужно будет вникнуть в весь проект, устранить баги, улучшить процессы и довести до релиза, далее работа на постоянной основе ...
Системное программирование1 заявкаЗакрыт10 месяцев назад