Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Создай консольное приложение “Калькулятор”. Приложение должно читать из консоли введенные пользователем строки, числа, арифметические операции проводимые между ними и выводить в консоль результат их выполнения.

Реализуй класс 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 //т.к. формат математической операции не удовлетворяет заданию - два операнда и один оператор (+, -, /, *)

2 года назад
AlexandrinaA
35 лет
2 года в сервисе
Была
2 года назад

Выбранный исполнитель

mergashev
Мухаммад 
30 лет
2 года в сервисе
Был
2 года назад
16 отзывов
2 года назад
$35
1 день
Очень добродушный и коммуникабельный, в исполнении заказа предусмотрел все пожелания, которых было не мало, даже комментарии прописал со всеми пояснениями, выполнил очень быстро, даже неожиданно, через 3-4 часа уже всё было готово. Во-общем 5 звёзд, однозначно очень рекомендую и большое человеческое спасибо.
Было очень интересно работать, чётко поставленная задача, я доволен заказчиком рекомендую

Заявки фрилансеров

Вадим
 
23 года
2 года в сервисе
онлайн
37 отзывов
2 года назад
#1
Прикладное ПО
mergashev
Мухаммад 
30 лет
2 года в сервисе
Был
2 года назад
16 отзывов
2 года назад
Андрей
 
22 года
2 года в сервисе
Был
2 года назад
2 года назад
  • Похожие заказы

  • $3000

    Требуется разработка web-приложения на базе Nest.js и Vue3 для автоматизации получения лицензий и управления личными кабинетами. Проект объемный, минимум на 12 месяцев. Опыт работы с GraphQL, Docker и Gitlab желателен. Укажите ваш часовой рейт, опыт парсинга данных и доступность.

    Закрыт
    2 года назад
  • $60

    Требуется разработать автокликер, который будет работать с несколькими окнами блокнота. Пользователь сможет задавать свои последовательности нажатий и интервалы. Программное обеспечение должно поддерживать клики правой кнопкой мыши и функционировать по системе подписки на месяц, предоставляя пользователю доступ к софту на 30 дней.

    Закрыт
    2 года назад
  • $20

    Требуется разработать парсер, который будет извлекать абзацы из txt-файла, содержащие словосочетания "Имя№1 Shows" и "Имя№2 Shows". Имена (около 500) будут в отдельном файле, парсер должен сравнивать их и при совпадении переносить абзацы в новый txt-файл. Абзацы отделены пробелами сверху и снизу, кроме первого.

    Закрыт
    2 года назад
  • $25

    Требуется разработать торгового бота на MQL, который будет открывать ордера в зависимости от изменения цены. Основные функции включают установку замков при движении против сделки, анализ цен и возможность использования мартингейла. Бот должен учитывать рост или падение цены и управлять сделками в соответствии с заданными параметрами.

    Закрыт
    2 года назад
  • Задача включает разработку программы с интерфейсом, реализующей алгоритм RS1 по теории приближенных множеств. Программа должна работать с .data датасетами из UCI Machine Learning Repository, выводить продукционные правила и сохранять результаты в файл. Интерфейс включает кнопки загрузки, запуска алгоритма и сохранения результатов.

    Закрыт
    2 года назад
  • Разработайте скрипт на Lua для Quik, который будет выводить данные свечей за заданный период в Excel в реальном времени. Скрипт должен добавлять новые строки с текущими данными по мере их появления на рынке, обеспечивая актуальность информации.

    Закрыт
    2 года назад
  • Требуется разработка программы, которая генерирует анимированный GIF на основе введенного текста или анимированного PNG. Текст в GIF должен отображаться в режиме печати, как в окне программы. Пользователь может задавать размеры поля текста и шрифт, например, Fixedsys. Также нужна функция сохранения логов набора текста для дальнейшей генерации GIF с другими параметрами. Интересует длительное сотрудничество и выполнение задач, похожих на обязанности интернет-помощника.

    Прикладное ПОнет заявок
    Закрыт
    2 года назад
  • Требуется разработать программное обеспечение, которое будет парсить резюме с сайта работа.ру и отправлять информацию о кандидатах в WhatsApp. Имеется полурабочий софт, который нуждается в исправлениях. Также открыты к новым решениям для выполнения задачи. Подробное ТЗ прикреплено.

    Закрыт
    2 года назад
  • Необходимо проанализировать функцию JavaScript, которая заполняет значение скрытого input. Определите, на основе каких данных формируется это значение и какой алгоритм используется для его подстановки.

    Закрыт
    2 года назад
  • $350

    Ищется аналитик-проектировщик для разработки технического задания и проектной документации для тендера. Задача включает сбор и описание требований от двух специалистов, а также оформление техдокументации на 20-40 страниц с блок-схемами и диаграммами. Требуется опыт в написании ТЗ для информационных систем и умение задавать правильные вопросы для уточнения деталей.

    Закрыт
    2 года назад