Menu
Coddy logo textTech

Koruma Koşulları

Coddy'nin Kotlin Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 41 / 63.

Bir koruma koşulu, girdi ana yolu izleyemediğinde erken döner. İstisnai durumları önce kontrol etmek, iç içe koşulları azaltabilir. Bir return, mevcut fonksiyondan çıkar; bu nedenle o fonksiyondaki sonraki ifadeler çalıştırılmaz.

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

main içinde:

println(deliveryFee(-1))

Negatif girdi koruma koşulunu tetikler ve normal ücret hesaplamasını engeller.

Bir koruma koşulu, koşulu sağlandığında normal akıştan önce işlevden çıkar.

challenge icon

Görev

Orta

firstOrMissing fonksiyonunu values: List<Int> parametresiyle tamamlayın. Guard clause kullanarak boş bir liste için -1 döndürün. Aksi takdirde ilk değeri döndürün.

Yukarıda daha sıkı sınırlar belirtilmediği sürece koleksiyonlar her düzeyde en fazla 100 öğe içerir ve tamsayı bağımsız değişkenleri ile tamsayı koleksiyon değerleri -1000 ile 1000 arasındadır. Ayrıştırma için sağlanan metin, açıklandığı üzere geçersiz veya aralık dışı gösterimler içerebilir.

Int türünde bir değer döndürün. Sağlanan girdi/çıktı kodunu değiştirmeyin. Bu kod, skaler bağımsız değişkenleri satır başına bir tane olacak şekilde okur; bir liste, sayısının ardından öğeleriyle başlar ve bir map, giriş sayısının ardından her anahtar ve değeriyle başlar. İç içe listeler, her satır için sayı ve öğeler biçimini tekrarlar. Sağlanan main, dönüş değerini ve ardından bir satır sonunu yazdırır. Listeler Kotlin'in standart köşeli parantezli biçimini kullanır; ek etiket yazdırmayın.

Kendin dene

fun firstOrMissing(values: List<Int>): Int {
    // Çözümünüzü buraya yazın.
    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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Kotlin playground