Birleştirme
- Java kursu
- Orta seviye
- Ders 46/116
- 6 dk
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
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
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
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));
}
}
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.