CodeBlanks Logo Icon CodeBlanks

Birleştirme

Quiz sınıfını menü döngüsüyle birleştirirsin.

Birleştirme

Son ders tüm parçaları bir araya getirir. Bir Runner sınıfı tanımlayacak, quiz oluşturacak, sorular ekleyecek, cevapları kontrol edecek ve sonucu yazdıracaksın.

Örnek: Runner sınıfının main metodunda bir Quiz örneği oluşturulur. İki soru eklenir. Cevap dizisi verilir ve check çağrılır. Sonuç ve soru sayısı ayrı satırlarda yazdırılır. Bu, projenin tüm parçalarının nasıl birleştiğini gösterir. Artık çalışan bir quiz uygulaman var; doğru ve yanlış cevapları ayırt edebiliyor.

Programın çıktısı

Birleştirme dersinde program soruları ve skoru yazdırır. Önce display ile sorular, sonra check ile skor yazdırılır. Çıktı, projenin tüm parçalarının birlikte çalıştığını gösterir.

Beklenen çıktı: önce iki soru satırı, sonra skor satırı. Örneğin Başkent = Ankara, Şehir = İstanbul, 1. Bu satırlar sırasıyla display ve check çağrılarından gelir. Soru sayısı iki, doğru cevap bir; skor bir yazdırılır. Program çalıştığında quiz'in durumu tek bakışta görülür.

Uygulama Runner sınıfını tanımla ve quiz'i çalıştır

Dosyaya Runner sınıfını ekle. main metodunda bir Quiz örneği oluştur. İki soru ekle: new Question("Başkent", "Ankara") ve new Question("Şehir", "İstanbul"). display() çağır. String[] answers = {"Ankara", "İzmir"} tanımla, check(answers) çağır ve sonucu 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;
    }
}
class Quiz {
    Question[] questions;
    int count;
    int score;
    Quiz() {
        questions = new Question[10];
        count = 0;
        score = 0;
    }
    void add(Question q) {
        questions[count] = q;
        count++;
    }
    void display() {
        for (int i = 0; i < count; i++) {
            System.out.println(questions[i]);
        }
    }
    int check(String[] answers) {
        for (int i = 0; i < count; i++) {
            if (answers[i].equals(questions[i].answer)) score++;
        }
        return score;
    }
}

// Runner sınıfını ekle
// main içinde quiz oluştur, soru ekle, display ve check çağı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;
    int score;
    Quiz() {
        questions = new Question[10];
        count = 0;
        score = 0;
    }
    void add(Question q) {
        questions[count] = q;
        count++;
    }
    void display() {
        for (int i = 0; i < count; i++) {
            System.out.println(questions[i]);
        }
    }
    int check(String[] answers) {
        for (int i = 0; i < count; i++) {
            if (answers[i].equals(questions[i].answer)) score++;
        }
        return score;
    }
}
class Runner {
    public static void main(String[] args) {
        Quiz quiz = new Quiz();
        quiz.add(new Question("Başkent", "Ankara"));
        quiz.add(new Question("Şehir", "İstanbul"));
        quiz.display();
        String[] answers = {"Ankara", "İzmir"};
        System.out.println(quiz.check(answers));
    }
}

Beklenen çıktı

Başkent = Ankara
Şehir = İstanbul
1

Soru ve cevaplar

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

1 Sınıfları kullanımlarıyla eşle

Kavram Anlamı
Question Soru
Quiz Soru havuzu
check Skor hesabı
Runner Giriş noktası

2 Birleştirme dersinde main metodu hangi sınıfta olur?

  • Question
  • Quiz
  • Answer
  • Runner Doğru cevap

Açıklama: Runner — birleştirme dersinde yeni bir Runner sınıfı tanımlanır.

3 Runner main gövdesini tamamla

Soru
class Runner {
    public static void main(String[] args) {
        Quiz quiz = new Quiz();
        quiz.add(new Question("Başkent", "Ankara"));
        String[] answers = {"Ankara"};
        System.out.println(quiz.____(answers));
    }
}
Cevap
class Runner {
    public static void main(String[] args) {
        Quiz quiz = new Quiz();
        quiz.add(new Question("Başkent", "Ankara"));
        String[] answers = {"Ankara"};
        System.out.println(quiz.check(answers));
    }
}

Açıklama: check metodu skoru hesaplar ve döndürür.

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