CodeBlanks Logo Icon CodeBlanks

Soru ekleme

addQuestion fonksiyonuyla quiz'e soru eklemeyi öğrenirsin.

Soru ekleme

İkinci derste addQuestion fonksiyonunu ekleriz. Bu fonksiyon soru metni ve cevabı alır, listeye yeni bir Question ekler.

Örnek: fun addQuestion(text: String, answer: String) { questions.add(Question(text, answer)) }. Bu fonksiyon addQuestion("2+2 kaç?", "4") biçiminde çağrılır. questions listesi dosya düzeyinde tanımlıdır; bu yüzden fonksiyon doğrudan erişir. Birden çok soru eklemek için fonksiyonu tekrar tekrar çağırırsın. Veri modeli ve liste birinci dersten gelir; bu ders sadece fonksiyonu ekler.

Çoklu soru ekleme

addQuestion fonksiyonu çağrıldıkça liste büyür. Her çağrı yeni bir Question örneği ekler.

Örnek: addQuestion("Başkent hangi ülke?", "Türkiye"); addQuestion("2+2 kaç?", "4"). Bu iki çağrıdan sonra questions iki öğe içerir. println(questions) çağrısı [Question(text=Başkent hangi ülke?, answer=Türkiye), Question(text=2+2 kaç?, answer=4)] yazdırır. data class'ın otomatik toString'i sayesinde liste içeriği okunaklıdır.

Uygulama addQuestion ile iki soru ekle

Birinci dersin çözümünü temel al: data class Question(val text: String, val answer: String) ve val questions: MutableList<Question> = mutableListOf() tanımlı olsun. fun addQuestion(text: String, answer: String) fonksiyonu ekle; gövdesi questions.add(Question(text, answer)) yapsın. main içinde addQuestion("Başkent hangi ülke?", "Türkiye") ve addQuestion("2+2 kaç?", "4") çağrılarını yap ve println(questions) ile listeyi yazdır.

Başlangıç kodu

Main.kt
data class Question(val text: String, val answer: String)

val questions: MutableList<Question> = mutableListOf()

// addQuestion fonksiyonunu ekle: text ve answer al, listeye Question ekle

fun main() {
    // İki soru ekle ve listeyi yazdır
}

Örnek çözüm

Main.kt
data class Question(val text: String, val answer: String)

val questions: MutableList<Question> = mutableListOf()

fun addQuestion(text: String, answer: String) {
    questions.add(Question(text, answer))
}

fun main() {
    addQuestion("Başkent hangi ülke?", "Türkiye")
    addQuestion("2+2 kaç?", "4")
    println(questions)
}

Beklenen çıktı

[Question(text=Başkent hangi ülke?, answer=Türkiye), Question(text=2+2 kaç?, answer=4)]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 addQuestion fonksiyonunu tamamla

Soru
fun addQuestion(text: String, answer: String) {
    questions.____(Question(text, answer))
}
Cevap
fun addQuestion(text: String, answer: String) {
    questions.add(Question(text, answer))
}

Açıklama: questions.add ile yeni soru eklenir.

2 addQuestion parçalarını eşle

Kavram Anlamı
fun addQuestion(text, answer) Fonksiyon imzası
questions.add Listeye ekleme
Question(text, answer) Yeni soru örneği
addQuestion("2+2 kaç?", "4") Çağrı

3 <code>addQuestion</code> fonksiyonu <code>questions</code> listesine nasıl erişir?

  • Parametre olarak alır
  • Singleton üzerinden
  • Dosya düzeyinde tanımlı olduğu için doğrudan Doğru cevap
  • companion object'ten

Açıklama: questions dosya düzeyinde tanımlıdır; fonksiyon doğrudan erişir.

Orta seviye bölümündeki tüm dersler