Parsing Tanpa Pengecualian
Termasuk bagian Logika & Alur dalam perjalanan Kotlin di Coddy. Pelajaran 51 dari 63.
toIntOrNull mengembalikan Int untuk string bilangan bulat yang valid dan berada dalam rentang, serta null jika penguraian gagal, termasuk karena overflow. Gabungkan dengan percabangan yang aman atau fallback Elvis. Pemangkasan spasi adalah pilihan terpisah: lakukan pemangkasan secara eksplisit jika spasi di sekitarnya boleh diterima.
Di dalam main:
println(" 24 ".trim().toIntOrNull() ?: -1)Penghapusan spasi di awal dan akhir dilakukan sebelum konversi berhasil.
toIntOrNull melaporkan teks bilangan bulat yang tidak valid atau di luar rentang sebagai null.
Tantangan
SedangLengkapi parseOrMissing dengan parameter text: String. Hapus spasi di awal dan akhir text, lalu parse sebagai Int. Kembalikan -1 jika parsing gagal atau nilainya berada di luar rentang Int.
Kecuali jika batas yang lebih ketat disebutkan di atas, koleksi berisi paling banyak 100 elemen pada setiap tingkat, dan argumen integer serta nilai integer dalam koleksi berada di antara -1000 dan 1000. Text yang diberikan untuk parsing dapat mencakup representasi yang tidak valid atau di luar rentang seperti yang dijelaskan.
Kembalikan nilai bertipe Int. Pertahankan kode input/output yang disediakan. Kode tersebut membaca argumen skalar satu per baris; list dimulai dengan jumlah elemennya, lalu diikuti elemen-elemennya, dan map dimulai dengan jumlah entrinya, lalu diikuti setiap key dan value. List bertingkat mengulang format jumlah elemen dan elemen untuk setiap baris. main yang disediakan mencetak nilai yang dikembalikan, lalu satu baris baru. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan cetak label tambahan.
Coba sendiri
fun parseOrMissing(text: String): Int {
// Tulis solusimu di sini.
return 0
}
fun main() {
val text = readLine().orEmpty()
println(parseOrMissing(text))
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika & Alur
4Koleksi Bersarang
List Berisi ListMenelusuri BarisRingkasan BarisMeratakan List BertingkatRangkuman, Baris Tempat Duduk7Alur Pemrosesan Koleksi
Transformasi dengan MapMemfilter NilaiMenguji Aturan KoleksiMengakumulasi dengan FoldRangkuman: Total yang Disetujui2Map Bagian 2
Menelusuri Entri MapKunci dan NilaiMap FrekuensiMap BersarangRingkasan: Laporan Frekuensi5Proyek: Buku Kontak
Menyimpan KontakMencari Kontak8Mengurutkan dan Mengelompokkan
Mengurutkan Berdasarkan KunciMenggabungkan PerbandinganMengelompokkan NilaiMengaitkan Berdasarkan KunciRangkuman: Papan Peringkat Berdasarkan Panjang11Penanganan Error
Parsing Tanpa PengecualianMenangani Error Tertentutry sebagai EkspresiValidasi dengan RequireRangkuman: Kuantitas yang DivalidasiLatihan sendiri: Playground Kotlin