Java ile şık belirleme



package javaapplicationtest;

import javax.swing.JOptionPane;


public class soru_sorma {
    public static void main(String[] args){
        String dcevap="Doğru cevap..";
        String ycevap="Yanlış cevap..";
        
        String soru;
        String cvp;
        
        soru=JOptionPane.showInputDialog(null,"Türkiyenin başkenti neresidir?");
        cvp=String.valueOf(soru);
        
        if("ankara".equals(cvp)){
            JOptionPane.showInputDialog(null,dcevap);
        }
        
        else{
            JOptionPane.showInputDialog(null,ycevap);
        }
    System.exit(0);
        }
    }



Bu koda a,b,c,d gibi 4 tane şık koyup doğru cevabı nasıl bulabilirim.

Bu sorunun Java veya programcilikla hic bir alakasi yok:

“Turkiye’nin baskenti” yerine “Turkiye’nin baskenti A) istanbul B) ankara C) yozgat”
“ankara” yerine “B”

Sorunun birkaç cevabı olabilir. Mesela tek bir soru soracaksan, aşağıdaki gibi bir şey yapabilirsin

import javax.swing.JOptionPane;

public class Test {
    public static void main(String[] args) {
        String soru = "Türkiye'nin başkenti?\n\na) Edirne\nb) Sivas\nc) Ankara\nd) İstanbul\ne) Bursa";
        String cevap = JOptionPane.showInputDialog(soru+"\n\nCevap?");
        
        switch(cevap){
            case "c": JOptionPane.showMessageDialog(null,"Tebrikler :)");break;
            default:JOptionPane.showMessageDialog(null,"Doğru cevap C","Yanlış cevap",JOptionPane.ERROR_MESSAGE);
        }
    }
}

Ancak soruları bir yerde saklayıp sıra ile sormak istersen, dizide tutabilirsin.

Çok güzel emeğine sağlık.
Benim hatam o string cevap yerine int cevap yazmış olmam.switch kullandım ve bir harf girdiğimde hata aldım.Demek ki sorun sadece
String yazmalıymışım.
String soru1=
Syring soru 2=
Vs alt alta yazarak peşpeşe soru sordurabilirmiyim?
Birde default dememizin sebebi nedir…

1 Beğeni

Dediğim gibi, dizide soruları ve şıkları tutabilirsin.

String[][] sorular = {{"Soru 1","a","b","c","d"},
                      {"Soru 2","a","b","c","d"}}

Cevapları da ayrı listede tutabilirsin. Soru indisine denk gelen yerde cevabı saklarsın.

Default, case durumlarından hiçbiri çalışmazsa çalışır.