Java "Switch-case" kullanımında çıkan sorun

etol4040

Hectopat
Katılım
10 Mayıs 2020
Mesajlar
943
Çözümler
6
Java kodlama dilini öğrenmeye başladım. "1 kod içerisinde 9 oyun" diye bir proje yapıyorum fakat "Switch-Case" kullanırken sorun çıktı. Kod:
JavaScript:
import java.util.Scanner;

public class Ders9 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("1-9 arasında oyun seç 10:çıkış");
        int oyun = scan.nextInt();
        String Do = "True";
        while(Do.equals("True")) {
        switch(oyun) {
        case 1:
            System.out.println("Oyunda Hala Çalışılmaktadır.");  
            break;
        case 2:
            System.out.println("Oyunda Hala Çalışılmaktadır.");  
            break;          
        case 3:
            System.out.println("Oyunda Hala Çalışılmaktadır.");  
            break;          
        case 4:
            System.out.println("Oyunda Hala Çalışılmaktadır.");  
            break;    
        case 5:
            System.out.println("Oyunda Hala Çalışılmaktadır.");  
            break;  
        case 6:
            System.out.println("Oyunda Hala Çalışılmaktadır.");  
            break;  
        case 7:
            System.out.println("Oyunda Hala Çalışılmaktadır.");  
            break;
        case 8:
            System.out.println("Oyunda Hala Çalışılmaktadır.");  
            break;
        case 9:
            System.out.println("Oyunda Hala Çalışılmaktadır.");  
            break;
        case 10:
            Do = "False";
            System.out.println("Çıkış yapılıyor...");
            break;
        default:
            System.out.println("Geçersiz oyun numarası.");
            break;
        }
            System.out.println("1-9 arasında oyun seç 10:çıkış");
            oyun = scan.nextInt();
        }
        System.out.println("Döngü Bitti");
    }
}
Fakat çıkış yapmak istediğimde olan şey:
JavaScript:
1-9 arasında oyun seç 10:çıkış
10
Çıkış yapılıyor...
1-9 arasında oyun seç 10:çıkış
10
Döngü Bitti
Burada hem iki kez bizden numara istiyor hem de ikinci kez çıkış yapınca "Çıkış yapılıyor..." demiyor.
Bu arada oyun yok, çünkü daha yeni başladım.
 
Son düzenleyen: Moderatör:
Yazdığınız break Case'i kırıyor çünkü döngüyü değil.
Dediğiniz yanlış, döngüyü değil switch-case i kırıyor. Sıkıntı hem switch-case öncesi, hem de sonrası input istemen.
Kod:
import java.util.Scanner;

public class Ders9 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("1-9 arasında oyun seç 10:çıkış");
        
        String Do = "True";
        while(Do.equals("True")) {
            int oyun = scan.nextInt();
            switch(oyun) {
                case 1:
                    System.out.println("Oyunda Hala Çalışılmaktadır."); 
                    break;
                case 2:
                    System.out.println("Oyunda Hala Çalışılmaktadır."); 
                    break;         
                case 3:
                    System.out.println("Oyunda Hala Çalışılmaktadır."); 
                    break;         
                case 4:
                    System.out.println("Oyunda Hala Çalışılmaktadır."); 
                    break;   
                case 5:
                    System.out.println("Oyunda Hala Çalışılmaktadır."); 
                    break; 
                case 6:
                    System.out.println("Oyunda Hala Çalışılmaktadır."); 
                    break; 
                case 7:
                    System.out.println("Oyunda Hala Çalışılmaktadır."); 
                    break;
                case 8:
                    System.out.println("Oyunda Hala Çalışılmaktadır."); 
                    break;
                case 9:
                    System.out.println("Oyunda Hala Çalışılmaktadır."); 
                    break;
                case 10:
                    Do = "False";
                    System.out.println("Çıkış yapılıyor...");
                    break;
                default:
                    System.out.println("Geçersiz oyun numarası.");
                    break;
            }
        }
        System.out.println("Döngü Bitti");
    }
}

Alt kısımdaki print ve scan kısmını silerseniz doğru çalışacaktır
 
Java:
System.out.println("1-9 arasında oyun seç 10:çıkış");
oyun = scan.nextInt();

Bu kısmı While'ın başına ekleyin (Switch'ten önce).
Oyun değişkenine değer atamayın sadece declare edin.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…