Skip to content

Latest commit

 

History

History
49 lines (44 loc) · 5.41 KB

task-string-calculator.md

File metadata and controls

49 lines (44 loc) · 5.41 KB

Задача: программа "Строковый калькулятор"

Описание:

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

Требования:

  1. Калькулятор умеет выполнять операции сложения строк, вычитания строки из строки, умножения строки на число и деления строки на число: "a" + "b", "a" - "b", "a" * b, "a" / b. Данные передаются в одну строку(смотрите пример)! Решения, в которых каждая строка, число и арифмитеческая операция передаются с новой строки считаются неверными.
  2. Значения строк передаваемых в выражении выделяются двойными кавычками.
  3. Результатом сложения двух строк, является строка состоящая из переданных.
  4. Результатом деления строки на число n, является строка в n раз короче исходной (смотрите пример).
  5. Результатом умножения строки на число n, является строка, в которой переданная строка повторяется ровно n раз.
  6. Результатом вычитания строки из строки, является строка, в которой удалена переданная подстрока или сама исходная строка, если в нее нет вхождения вычитаемой строки (смотрите пример).
  7. Калькулятор должен принимать на вход числа от 1 до 10 включительно, не более. И строки длинной не более 10 символов. Если строка, полученная в результате работы приложения длинее 40 симовлов, то в выводе после 40 символа должны стоять три точки (...)
  8. Калькулятор умеет работать только с целыми числами.
  9. Первым аргументом выражения, подаваемого на вход, должна быть строка, при вводе пользователем выражения вроде 3 + "hello", калькулятор должен выбросить исключение и прекратить свою работу.
  10. При вводе пользователем неподходящих чисел, строк или неподдерживаемых операций (например, деление строки на строку) приложение выбрасывает исключение и завершает свою работу.
  11. При вводе пользователем выражения, не соответствующего одной из вышеописанных арифметических операций, приложение выбрасывает исключение и завершает свою работу.

Пример работы программы:

Input:

"100" + "500"

Output:

"100500"

Input:

"Hi World!" - "World!"

Output:

"Hi "

Input:

"Bye-bye!" - "World!"

Output:

"Bye-bye!"

Input:

"Java" * 5

Output:

"JavaJavaJavaJavaJava"

Input:

"Example!!!" / 3

Output:

"Exa"

Принципы оценки работы:

Обратите внимание на принципы ООП, постарайтесь разбить программу на логические классы. Решения, в которых весь код программы находится в одном классе будут низко оценены. Продемонстрируйте своё умение в работе с разными синтаксическими конструкциями, не забудьте про исключительные ситуации, при которых выполнение программы невозможно из-за некорректных входных данных.

Как отправить решение?

  1. Если вы не знакомы с git и Github вам нужно ознакомиться с этой статьей, в ней описаны основы работы с git.
  2. Если вы уже ознакомились с основами работы с git или были знакомы ранее - вам нужно создать собственный репозиторий и добавить туда проект с решением.
  3. Ссылку на репозиторий отправьте нам на почту [email protected] с темой Тестовое задание калькулятор Java.