CodeBlanks Logo Icon CodeBlanks

Quiz modeli

Question veri sınıfını ve listeyi tasarlarsın.

Quiz modeli

Bu beş derslik projede bir quiz uygulaması kuracaksın. Her ders bir parça ekler; son derste tüm parçalar bir araya gelir.

Önceki gruplarda öğrendiğin data class, MutableList ve menü döngülerini kullanacaksın. Birinci derste Question veri sınıfını ve boş bir soru listesi tanımlayacaksın. main içinde bir soru ekleyip ekrana yazdıracaksın. Proje boyunca bu veri modeli üzerine soru ekleme, oynatma, skor hesaplama ve menü birleştirme fonksiyonları gelecek.

Question ve MutableList

Bir data class, veriyi taşımak için uygundur. Question sınıfı soru metnini ve doğru cevabı taşır. MutableList ile sorular dinamik olarak eklenir.

Örnek: data class Question(val text: String, val answer: String). val questions: MutableList<Question> = mutableListOf() ile boş liste başlatılır. questions.add(Question("Başkent hangi ülke?", "Türkiye")) ile soru eklenir. questions[0].text ilk sorunun metnini verir. data class'ın toString'i Question(text=..., answer=...) biçimindedir.

Uygulama Question ve soru listesi

data class Question(val text: String, val answer: String) tanımla. val questions: MutableList<Question> = mutableListOf() ile boş liste bildir. main içinde questions.add(Question("Başkent hangi ülke?", "Türkiye")) ile soru ekle ve println(questions[0].text) ile ilk sorunun metnini yazdır.

Başlangıç kodu

Main.kt
// Question veri sınıfı tanımı
// questions adında boş mutable liste
// main'de bir soru ekle ve metnini yazdır

Örnek çözüm

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

val questions: MutableList<Question> = mutableListOf()

fun main() {
    questions.add(Question("Başkent hangi ülke?", "Türkiye"))
    println(questions[0].text)
}

Beklenen çıktı

Başkent hangi ülke?

Soru ve cevaplar

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

1 Quiz uygulamasının ilk dersinde hangisi tanımlanır?

  • runQuiz fonksiyonu
  • Question veri sınıfı ve soru listesi Doğru cevap
  • score fonksiyonu
  • runMenu fonksiyonu

Açıklama: İlk ders Question veri sınıfını ve listeyi tanımlar.

2 Question data class tanımını tamamla

Soru
data class ____(val text: String, val answer: String)
Cevap
data class Question(val text: String, val answer: String)

Açıklama: data class Question soru modelini tanımlar.

3 Question parçalarını eşle

Kavram Anlamı
data class Question Veri sınıfı
val text: String Soru metni
val answer: String Doğru cevap
MutableList<Question> Soru listesi

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