Выводит kotlin.Unit как результат функции
При выполнении программы, помимо результата снизу выводит - kotlin.Unit
.
Не знаю, ошибка это или нет (начал только изучать kotlin).
Подскажите плз, критичная?
/*
В программе каршеринга в зависимости от возраста и стажа водителя доступны разные авто. Озвучены следующие требования.
Общие требования:
• Возраст не меньше 21 года.
• Водительский стаж категории «В» от двух лет.
Дополнительные требования для доступа к автомобилям Audi, BMW:
• Возраст не меньше 26 лет.
• Водительский стаж категории «В» от шести лет.
Написать функцию, которой на вход приходят возраст и стаж водителя.
Функция должна вернуть сообщение о том может ли он пользоваться каршерингом и какие авто ему доступны.
Проверить работу написанной функции на примере каких-нибудь входных данных.
*/
fun main() {
val age = readln().toInt()
val ageDrive = readln().toInt()
val result = getInfoCars(age, ageDrive)
println(result)
}
fun getInfoCars(age: Int, ageDrive: Int) {
val result = if(age>=26 && ageDrive>=6)
println("Vse zaebis! Beri lybuy tachku i pizdui")
else if(age>=21 && ageDrive>=2)
println("Norm. Beri lybuy, krome BMW i Audi")
else
println("IDI NAH, CHERT!")
return result
}
Ответы (1 шт):
Автор решения: denisnumb
→ Ссылка
Вам нужно в качестве возвращаемого результата функции getInfoCars
указать тип String
и возвращать его:
fun getInfoCars(age: Int, ageDrive: Int): String {
return if(age>=26 && ageDrive>=6)
"Vse zaebis! Beri lybuy tachku i pizdui"
else if(age>=21 && ageDrive>=2)
"Norm. Beri lybuy, krome BMW i Audi"
else
"IDI NAH, CHERT!"
}
А в данном виде у вас функция не подразумевает возвращаемый тип и фактически в переменную result
вы записываете результат выполнения функции println
в зависимости от заданных условий. А println
в свою очередь возвращает Unit