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 konuyu görüntüleyen kullanıcılar

Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…