Kirish ma’lumoti (input) — dasturga foydalanuvchi tomonidan qiymat berish. Shu paytgacha qiymatlarni kod ichida o’zimiz yozib keldik, biroq haqiqiy dastur foydalanuvchi bilan muloqot qiladi. Kotlin’da klaviaturadan ma’lumot olish uchun readLine ishlatiladi.
readLine() — foydalanuvchi klaviaturadan kiritgan bir qator matnni o’qiydigan funksiya. U natijani
String?(null bo’lishi mumkin) sifatida qaytaradi.
Matn o’qish
readLine() foydalanuvchi kiritgan qatorni qaytaradi:
fun main() {
print("Ismingizni kiriting: ")
val ism = readLine()
println("Salom, $ism!")
}
Ismingizni kiriting: Farrux
Salom, Farrux!
readLine() foydalanuvchi kiritgan matnni ism ga o’qidi. Diqqat: u String? qaytaradi — ya’ni null bo’lishi mumkin (masalan, kirish tugasa).
Sonni o’qish
readLine() matn qaytargani uchun, uni songa aylantirish kerak. toInt() bilan aylanadi:
fun main() {
print("Yoshingizni kiriting: ")
val yosh = readLine()!!.toInt()
println("Kelasi yil ${yosh + 1} yoshga to'lasiz")
}
Yoshingizni kiriting: 26
Kelasi yil 27 yoshga to'lasiz
readLine()!! — !! “null emas” deb kafolat beradi, toInt() esa matnni songa aylantiradi. Endi u bilan hisob-kitob qilish mumkin.
Xavfsiz o’qish — toIntOrNull
Foydalanuvchi noto’g’ri ma’lumot kiritishi mumkin. toIntOrNull() xato o’rniga null qaytaradi — bu xavfsizroq:
fun main() {
print("Son kiriting: ")
val kiritma = readLine()
val son = kiritma?.toIntOrNull()
if (son != null) {
println("Kvadrati: ${son * son}")
} else {
println("Bu son emas!")
}
}
Son kiriting: 7
Kvadrati: 49
toIntOrNull() matnni songa aylantirishga urinadi: muvaffaqiyatli bo’lsa son, aks holda null qaytaradi. if (son != null) bilan tekshirib, xavfsiz ishladik. Bu — kiritishni xavfsiz qayta ishlashning to’g’ri usuli.
Kirish metodlari
Kotlin’dagi kirish usullarini jadvalda ko’ramiz:
| Metod | Vazifasi |
|---|---|
readLine() |
bir qator matn o’qiydi |
toInt() |
matnni songa (xatoli bo’lishi mumkin) |
toIntOrNull() |
xavfsiz aylantirish |
Xulosa
Bu bo’limda readLine() bilan matn o’qish, toInt() bilan songa aylantirish va toIntOrNull() bilan xavfsiz kiritishni ko’rib chiqdik. Kirish ma’lumoti dasturni interaktiv qiladi. Keyingi darsda enkapsulatsiyaga o’tamiz.