Пример: ./calc "Bye-bye!" - "World!" "Bye-bye!"

  • Калькулятор умеет выполнять операции сложения строк, вычитания строки из строки, умножения строки на число и деления строки на число: "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:

"Golang" * 5 Output:

"GolangGolangGolangGolangGolang" Input:

"Example!!!" / 3 Output:

"Exa"

#go

2 года назад
guest_16743637862075
2 года в сервисе
Был
2 года назад

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

Нет заявок фрилансеров