Soru ekleme
- Java kursu
- Orta seviye
- Ders 43/116
- 6 dk
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
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
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
void add(Question q) {
questions[count] = q;
____;
}
void add(Question q) {
questions[count] = q;
count++;
}
Açıklama: Her eklemede count artırılır.