CodeBlanks Logo Icon CodeBlanks

Soru ekleme

addQuestion ile quiz'e soru eklersin.

Soru ekleme

İkinci ders Quiz sınıfını tanımlar. Quiz, soruları bir dizide tutar. add metodu yeni soru ekler; count alanı kaç soru olduğunu izler.

Örnek: class Quiz { Question[] questions; int count; Quiz() { questions = new Question[10]; count = 0; } void add(Question q) { questions[count] = q; count++; } }. Burada questions dizisi 10 soru kapasitelidir. add metodu her çağrılda bir soru ekler ve count'u artırır. Bu yapı, soruları sırayla depolar. Dizinin sınırlarını aşmamak için count kontrol edilir; şimdilik basit tutuyoruz.

Dizi ile soru depolama

Quiz sınıfı soruları bir Question[] dizisinde tutar. Dizi, sabit boyutlu bir veri yapısıdır; oluşturulurken kapasite belirtilir. add metodu, soruyu dizideki bir sonraki boş yere koyar.

Örnek: questions = new Question[10]; ile 10 elemanlı bir dizi oluşturulur. questions[0] ilk soruyu, questions[1] ikinciyi tutar. count değişkeni, bir sonraki boş indeksi gösterir. add çağrıldığında questions[count] = q; ile soru eklenir ve count artırılır. Bu, basit ama etkili bir depolama yöntemidir. Dizi dolduğunda yeni ekleme yapılmaz; şimdilik bu sınıra takılmıyoruz.

Uygulama Quiz sınıfını ekle

Dosyaya Quiz sınıfını ekle. Question[] questions ve int count alanlarını yaz. Quiz() yapıcısında diziyi new Question[10] ile oluştur, count = 0 ata. void add(Question q) metodu ekle; questions[count] = q; ve count++ yap. Quiz içine main koy; bir Quiz örneği oluştur, iki soru ekle ve count'u yazdır.

Başlangıç kodu

Main.java
class Question {
    String text;
    String answer;
    Question(String t, String a) {
        text = t;
        answer = a;
    }
    public String toString() {
        return text + " = " + answer;
    }
}

// Quiz sınıfını ekle
// questions dizisi, count, yapıcı ve add metodu
// main içinde örnekle ve yazdır

Örnek çözüm

Main.java
class Question {
    String text;
    String answer;
    Question(String t, String a) {
        text = t;
        answer = a;
    }
    public String toString() {
        return text + " = " + answer;
    }
}
class Quiz {
    Question[] questions;
    int count;
    Quiz() {
        questions = new Question[10];
        count = 0;
    }
    void add(Question q) {
        questions[count] = q;
        count++;
    }
    public static void main(String[] args) {
        Quiz quiz = new Quiz();
        quiz.add(new Question("Başkent", "Ankara"));
        quiz.add(new Question("Şehir", "İstanbul"));
        System.out.println(quiz.count);
    }
}

Beklenen çıktı

2

Soru ve cevaplar

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

1 Quiz bölümlerini eşle

Kavram Anlamı
Question[] questions Soru dizisi
int count Soru sayısı
void add(Question q) Ekleme metodu
count++ Sayacı artır

2 Quiz sınıfında count alanı neyi izler?

  • Skoru
  • Dizi boyutunu
  • Quiz süresini
  • Soru sayısını Doğru cevap

Açıklama: Soru sayısını — count kaç soru eklendiğini tutar.

3 add metodunu tamamla

Soru
void add(Question q) {
    questions[count] = q;
    ____;
}
Cevap
void add(Question q) {
    questions[count] = q;
    count++;
}

Açıklama: Her eklemede count artırılır.

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