Шаг 87.
Основы Kotlin.
Строки. Задача для самостоятельного решения
На этом шаге мы рассмотрим практическую задачу и ее возможное решение.
Здесь мы предлагаем выполнить одну простую задачу на закрепление изученного материала.
Задание.
В данный момент toDragonSpeak() работает только со строчными буквами. Например, следующее высказывание не будет переведено на драконий язык:
DRAGON'S BREATH: IT'S GOT WHAT ADVENTURERS CRAVE!
Улучшите функцию toDragonSpeak(), чтобы она могла работать с прописными буквами.
Раскрыть/скрыть решение и комментарии.
При решении этой задачи мы руководствовались следующим соображением: когда встречается необходимая строчная или прописная буква, ее нужно заменить соответствующим символом.
В функции toDragonSpeak() происходит замена только маленьких букв; добавим еще замену соответствующих больших:
private fun toDragonSpeak(phrase: String) =
phrase.replace(Regex("[aeiouAEIOU]")) {
when (it.value) {
"a", "A" -> "4"
"e", "E" -> "3"
"i", "I" -> "1"
"o", "O" -> "0"
"u", "U" -> "|_|"
else -> it.value
}
}
Для проверки приведенного решения можно так изменить функцию main():
fun main() {
// placeOrder("shandy,Dragon's Breath,5.91")
// placeOrder("elixir,Shirley's Temple,4.12")
val phrase = "DRAGON'S BREATH: IT'S GOT WHAT ADVENTURERS CRAVE!"
println("Madrigal exclaims: ${toDragonSpeak(phrase)}")
}
Результат работы приложения приведен на рисунке 1:

Рис.1. Результат работы приложения
Со следующего шага мы начнем рассматривать числа.
Предыдущий шаг
Содержание
Следующий шаг