Задача: программа "Строковый калькулятор"Описание:Создайте консольное приложение "Строковый калькулятор". Приложение должно читать из консоли введенные пользователем строки, числа, арифметические операции проводимые между ними и выводить в консоль результат их выполнения.Требования:

  • Калькулятор умеет выполнять операции сложения строк, вычитания строки из строки, умножения строки на число и деления строки на число: "a" + "b", "a" - "b", "a" * b, "a" / b. Данные передаются в одну строку(смотрите пример)! Решения, в которых каждая строка, число и арифмитеческая операция передаются с новой строки считаются неверными.
  • Значения строк передаваемых в выражении выделяются двойными кавычками.
  • Результатом сложения двух строк, является строка состоящая из переданных.
  • Результатом деления строки на число n, является строка в n раз короче исходной (смотрите пример).
  • Результатом умножения строки на число n, является строка, в которой переданная строка повторяется ровно n раз.
  • Результатом вычитания строки из строки, является строка, в которой удалена переданная подстрока или сама исходная строка, если в нее нет вхождения вычитаемой строки (смотрите пример).
  • Калькулятор должен принимать на вход числа от 1 до 10 включительно, не более. И строки длинной не более 10 символов. Если строка, полученная в результате работы приложения длинее 40 симовлов, то в выводе после 40 символа должны стоять три точки (...)
  • Калькулятор умеет работать только с целыми числами.
  • Первым аргументом выражения, подаваемого на вход, должна быть строка, при вводе пользователем выражения вроде 3 + "hello", калькулятор должен выбросить исключение и прекратить свою работу.
  • При вводе пользователем неподходящих чисел, строк или неподдерживаемых операций (например, деление строки на строку) приложение выбрасывает исключение и завершает свою работу.
  • При вводе пользователем выражения, не соответствующего одной из вышеописанных арифметических операций, приложение выбрасывает исключение и завершает свою работу.
Пример работы программы:Input:"100" + "500"Output:"100500"Input:"Hi World!" - "World!"Output:"Hi "Input:"Bye-bye!" - "World!"Output:"Bye-bye!"Input:"Java" * 5Output:"JavaJavaJavaJavaJava"Input:"Example!!!" / 3Output:"Exa"Принципы оценки работы:Обратите внимание на принципы ООП, постарайтесь разбить программу на логические классы. Решения, в которых весь код программы находится в одном классе будут низко оценены. Продемонстрируйте своё умение в работе с разными синтаксическими конструкциями, не забудьте про исключительные ситуации, при которых выполнение программы невозможно из-за некорректных входных данных.
3 года назад
guest_16428432176731
3 года в сервисе
Был
3 года назад

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

Денис
 
24 года
4 года в сервисе
Был
3 года назад
3 года назад
Александр
 
32 года
7 лет в сервисе
Был
3 года назад
3 года назад
  • Похожие заказы

  • Требуется разработка веб-приложения для расчета зон на Google-картах с учетом 5 типов зданий и их ограничений по пешеходной удаленности и прямой дистанции. Необходимо отобразить районы, не попадающие под ограничения, с возможностью комбинирования различных типов адресов. Площадь города составляет 1000 км², количество адресов до 1000.

    Закрыт
    3 года назад
  • Ищется удаленный веб-программист для выполнения задач по созданию сайтов на WordPress и HTML, редактированию PHP-кода и дописыванию CSS. Работа 5 дней в неделю по 6-8 часов с ежедневными отчетами. Ожидается информация о вашем опыте и желаемой оплате.

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

    Требуется разработать меню создания фильма для кино сайта. Необходим адаптивный интерфейс, который будет удобен для пользователей. Укажите технологии и подходы, которые планируете использовать в разработке.

    Закрыт
    3 года назад
  • Требуются минимальные правки на сайте, разработанном на CMS Битрикс. Ищется опытный разработчик с навыками интеграции вёрстки, настройки плагинов и написания кода. Перспектива дальнейшего сотрудничества по другим проектам.

    Закрыт
    3 года назад
  • Разработать шаблон формулы для Google Таблиц, который позволит ссылаться на Таблицу-Б и осуществлять поиск по SKU. Формула должна открывать нужную ячейку/строку в зависимости от изменяющегося положения строки с запрашиваемым SKU. Необходима возможность работы с таблицами в разных файлах.

    Завершен
    3 года назад
  • Требуется разработать форму обратной связи, которая будет отправлять введенные данные на почту, включая IP-адрес и user agent пользователя. Необходимо реализовать валидацию ввода с обязательным использованием верхнего и нижнего регистра, а также цифр.

    Завершен
    3 года назад
  • Ищется разработчик для создания бота, который будет проверять доступность веб-страниц по заданным адресам и отправлять уведомления в Telegram. Необходим функционал авторизации, управление списком страниц, таймер опроса. Ожидается работа через трекер HUBSTAFF с почасовой оплатой. Укажите в заявке свои навыки, желаемую ставку и доступные часы работы.

    Закрыт
    3 года назад
  • Необходимо разработать код для синхронизации стандартного слайдера и текстового ввода в Tilda. Задача состоит в том, чтобы оба элемента работали в тандеме, приравнивая свои значения. Ожидается, что код будет легко адаптироваться под собственные переменные и вставляться в блок T123.

    Закрыт
    3 года назад
  • Требуется адаптировать самописный проект с PHP 5.6 под версию 7.4+. Необходимо переписать интеграцию с форумом IPB 4.3 через SSO, чтобы выводить информацию о пользователях (аватар, имя, почта) в комментариях на сайте и обеспечить возможность логина. Учитывайте требования к оценке материалов сайта.

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