Menu
CoddyTech

Klausa Pengaman

Termasuk bagian Logika & Alur dalam perjalanan Kotlin di Coddy. Pelajaran 41 dari 63.

Klausa penjaga mengembalikan nilai lebih awal saat input tidak dapat mengikuti alur utama. Memeriksa kasus khusus terlebih dahulu dapat mengurangi kondisi bertingkat. Pernyataan return mengakhiri fungsi saat ini, sehingga pernyataan berikutnya dalam fungsi tersebut tidak dijalankan.

fun deliveryFee(items: Int): Int {
    if (items < 0) return -1
    return items * 2
}

Di dalam main:

println(deliveryFee(-1))

Input negatif memicu pemeriksaan pengaman dan mencegah perhitungan biaya normal.

Klausa penjaga keluar dari fungsi sebelum jalur normal saat kondisinya terpenuhi.

challenge icon

Tantangan

Sedang

Lengkapi firstOrMissing dengan parameter values: List<Int>. Kembalikan -1 untuk list kosong menggunakan klausa guard. Jika tidak, kembalikan nilai pertama.

Kecuali batas yang lebih ketat dinyatakan di atas, koleksi berisi paling banyak 100 elemen pada setiap tingkat, dan argumen integer serta nilai dalam koleksi integer berada di antara -1000 dan 1000. Teks yang diberikan untuk parsing dapat menyertakan 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; sebuah list dimulai dengan jumlah elemennya, lalu diikuti elemen-elemennya, dan sebuah map dimulai dengan jumlah entrinya, lalu diikuti setiap key dan value. List bersarang mengulangi format jumlah-elemen untuk setiap baris. main yang disediakan mencetak nilai yang dikembalikan, diikuti satu newline. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan mencetak label tambahan.

Coba sendiri

fun firstOrMissing(values: List<Int>): Int {
    // Tulis solusimu di sini.
    return 0
}
fun main() {
    val valuesCount = readln().toInt()
    val values = mutableListOf<Int>()
    for (i0 in 0 until valuesCount) {
        val valuesItem = readln().toInt()
        values.add(valuesItem)
    }
    println(firstOrMissing(values))
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika & Alur

Latihan sendiri: Playground Kotlin