Soru ekleme
- Kotlin kursu
- Orta seviye
- Ders 43/116
- 6 dk
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
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
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
fun addQuestion(text: String, answer: String) {
questions.____(Question(text, answer))
}
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.