Учим Kotlin с нуля | №9 Практика. Решаем задачи.
Вставка
- Опубліковано 25 лип 2024
- Полный видеокурс по языку программирования Kotlin. В девятом видео практикуемся. Решаем две задачи, где применяем все знания, которые получили в предыдущих уроках.
!!Важно!! Повторяйте руками весь код, который вы видите на видео. Просто просмотреть недостаточно. Если возникают вопросы/ошибки пишите в комментах. Будем разбираться вместе.
Язык программирования Kotlin используют для создания бэкенда веб-приложений и приложений для Android. Язык похож на Java, но проще по синтаксису. Молодой и востребованный на рынке язык программирования.
#kotlin #уроки #программирование - Наука та технологія
Огромная благодарность автору канала за нужный контент!
огромное спасибо автору и каналу!!! гораздо доходчивее и понятнее чем на платных курсах ... говорю по собственному опыту обучения. желаю развития каналу и продолжения в том же духе, спасибо!
Присоединяюсь! Спасибо за уроки! Всё ясно и доходчиво, отлично воспринимается информация.
Огромное спасибо за видео. Решение задач на практике заполняет множество пробелов в знаниях, которые появляются когда учишь только теорию. Очень долго пыхтел, сначала пытался самостоятельно, повылезало куча ошибок. Начал смотреть, как делаете вы, повторяя за вами, все получилось)
Спасибо за хороший урок. Ждем новых!
Огромное спасибо! Наглядный пример очень помогает разобраться и все уложить в голове!
прикольные примеры.
спасибо !
Благодарю, ты лучший!:)
Спасибо! Со второго раа только сам смог повторить калькулятор) Утром еще попробовать нужно будет)
Прям очень подробно, большое спасибо
Круто!
Комментарий для развития канала.
Если в этом калькуляторе условное число 100 поделить на 0 то результат будет Infinity
Калькулятор можно улучшить исправив эту ошибку если после строчек
*println("Enter one more number: ")*
*val secpnd = readLine()?.toDoubleOrNull()*
*println("Enter an operator (+, -, *, /)")*
*val operator = readLine()*
написать - if ((operator == "/") && (second?.toInt() == 0)){
println("На ноль не делится")}
котлин будет выводить сообщение "На ноль не делится " в этом случае, но как убрать result Infinity я так и не понял.
Я попытался улучшить код, но лучше где то в описании к видео указать как лучше избавится от такого сообщения.
Всем привет! почему то функцию calculate не видит idea пробовал всеми способами описывать функцию все равно подчеркивает, что такой нет
А как компилятор понимает salariesArray как массив? Мы же каждый раз придумываем новое имя переменной и просто лепим к Array. Че то упустил этот момент
Когда создаем калькулятор почему нет знака "?" в конце строки val operator = readLine()
Скорее всего потому что значение String. Нам нет необходимости его преобразовывать в Double и в нём не будет нуля.
if (first != null && operator == "+" && second != null){
println("Ответ ${first+second}")
} else{ (
/ println("Enter correct") и это 4 раза на каждый оператор, совсем тяжелый случай?
fun main(){
while (true){
println("hello")
break
println("world!")
println("world!")
} }
почему не выводится hello world, а hello?
Ключевое слово break прекращает выполнение цикла, после этой строки дальнейшие строки внутри цикла не выполнятся
Редко снимаешь(
Вместо имени и зарплаты, выводит name salary словами. Не пойму где искать ошибку.
Значит ты где-то передал эти слова в кавычках, вместо указания имён переменных
@@SyntaxSugarDaddy да, утром встал и нашёл сам ошибку, в цикле с аутпутами я передал это стрингами)
не совсем понимаю смысл 2 задачи, ведь это все можно построить в exel
Ну если бы мы изучали Эксель то наверное это имело бы смысл…
все пишут что все поняли кроме по ходу меня.
Строчки с индех я вообще не понимаю...
Ты создал две переменные и дал абстрактному массиву метод Индекс. Образно.. я понимаю в какую сторону намёк [0,1,2,3...] но физически что происходит я не понимаю совсем, какая-то "сэкту-семпра" .
У массива метод индекс ссылающийся на имя переменной цикла (.index0f(name))
Ниже ты создаешь еще одну переменную и указываешь [index], в квадратных скобках будто из массива берешь что-то, почему так? почему в квадратных? Это такая последовательность , берем индек по очереди друг у друга.
Который урок смотрю и абсолютно не понимаю Физику просходящего, ??
fun main() {
println("Enter names using coma as separator")
val names = readLine().orEmpty()
val namesArray = names.split(",")
println("Enter salaries using coma as separator")
val salaries = readLine().orEmpty()
val salariesArray = salaries.split(",")
if (namesArray.size != salariesArray.size) {
println("Names list must be the same as salaries list")
exitProcess(0)
}
validateLength(namesArray, 10, "Name")
validateLength(salariesArray, 6, "Salary")
printTable(namesArray, salariesArray)
}
fun validateLength(namesArray: List, maxSize: Int, entity: String) {
for (name in namesArray) {
if (name.length > maxSize)
println("$entity must be up to $maxSize characters")
exitProcess(0)
}
}
где-то в этой части кода ошибка, но не могу понять, где. если ввести имя более 10 символов, ошибку выдаёт, если зарплату больше 6 символов - нет
fun validateLength(names: List, maxSize: Int, entity: String) {
for (name in names) {
if (name.length > maxSize) {
println("$entity must be up to $maxSize characters")
break
}
}
}
внутри if нужно добавить фигурные скобки) их то бишь скобки можно опустить только при наличии в ветке одного выражения, добавь скобки и все заработает корректно