Bu kodda if yerleri neden sürekli else'e götürüyo?

import java.util.*;

public class Tarih {
    public static void main(String[] args) {

        String[] sorular = {"Sigiliografya nedir?", "Etnografya nedir?", "Nümizmatik nedir?"};
        String[] a = {"Armaları inceleyen bilim dalı.", "Yazıları inceleyen bilim dalı.", "Paraları inceleyen bilim dalı."};
        String[] b = {"Mühürleri inceleyen bilim dalı.", "Irkları inceleyen bilim dalı.", "Mühürleri inceleyen bilim dalı."};
        String[] c = {"Yazıları inceleyen bilim dalı.", "Kültür, örf ve adetleri inceleyen bilim dalı.", "Anıt, abide vb. üzerine yazılmış yazıları inceleyen bilim dalı."};
        String[] d = {"Özel adların kökenini inceleyen bilim dalı.", "Doğa ve insan arası ilişkiyi inceleyen bilim dalı.", "Matematiksel verileri inceleyen bilim dalı."};
        do {
            Scanner scan = new Scanner(System.in);
            Random rand = new Random();            
            int soru = rand.nextInt(sorular.length);
            System.out.println(sorular[soru]);
            System.out.println("A) " + a[soru] + " B) " + b[soru] + " C) " + c[soru] + " D) " + d[soru]);
            String cevap = scan.nextLine();
            System.out.println(cevap);
            switch (soru) {
                case 0:
                    if (cevap == "b") {
                        System.out.println("Doğru.");
                        break;                    
                    } else {
                        System.out.println("Yanlış, doğru cevap b.");
                        break;
                    }
                case 1:
                    if (cevap == "c") {
                        System.out.println("Doğru.");
                        break;
                    } else {
                        System.out.println("Yanlış, doğru cevap c.");
                    }
                case 2:
                    if (cevap == "a") {
                        System.out.println("Doğru.");
                        break;
                    } else {
                        System.out.println("Yanlış, doğru cevap a.");
                        break;
                    }
            }
            scan.close();
        } while(true);
    }
}

bkz: Soru Sorarken Sıkça Düşülen Hatalar #1

düzelttim

20 kelimelik sınır dolsun diye

1 Beğeni