Çözüldü Java Break komutu hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Katılım
22 Ocak 2020
Mesajlar
2.657
Makaleler
14
Çözümler
25
Yer
İstanbul
@kaan.w break komutunu kullanma amacım işlemleri yapmaya devam etmesi. Karekök kısmını seçtiğim zaman diğer işlemleri de yapıyor. Benden yeniden 1. ve 2. sayıyı girmemi istiyor.

JavaScript:
package hesapmakinesi;

import java.util.Scanner;

public class HESAP {

 public static void main(String[] args) {

 Scanner scan = new Scanner(System.in);

 int sayi1,sayi2;

 System.out.println("\n**** HESAP MAKİNESİ ****\n");

 System.out.println("\n**** Yapmak İstediğiniz İşlemi Seçiniz ****\n");

 System.out.println("1. Toplama");
 System.out.println("2. Çıkarma");
 System.out.println("3. Çarpma");
 System.out.println("4. Bölme");
 System.out.println("5. Yüzde Alma");
 System.out.println("6. Karekök\n");

 System.out.print("Seçiminizi Seçiniz: ");

 int secim = scan.nextInt();

 if (secim < 6 && secim != 0) {
 System.out.print("1. Sayıyı Giriniz: ");
 sayi1 = scan.nextInt();
 System.out.print("2. Sayıyı Giriniz: ");
 sayi2 = scan.nextInt();
 break;
 }
 else if (secim == 6) {
 System.out.print("Karekök'ü Alınacak Sayıyı Giriniz: ");
 sayi1 = scan.nextInt();
 break;
 }
 else {
 System.out.println("Hatalı Giriş Yaptınız.");
 break;
 }

 System.out.print("1. Sayıyı Giriniz: ");
 sayi1 = scan.nextInt();
 System.out.print("2. Sayıyı Giriniz: ");
 sayi2 = scan.nextInt();

 switch(secim) {
 case 1:
 System.out.println("\nToplama İşleminizin Sonucu = " + (sayi1 + sayi2));
 break;
 case 2:
 System.out.println("\nÇıkarma İşleminizin Sonucu = " + (sayi1 - sayi2));
 break;
 case 3:
 System.out.println("\nÇarpma İşleminizin Sonucu = " + (sayi1 * sayi2));
 break;
 case 4:
 System.out.println("\nBölme İşleminizin Sonucu = " + (float)sayi1 / sayi2);
 break;
 case 5:
 System.out.println("\nYüzde İşleminizin Sonucu = " + (sayi1 * sayi2/100));
 break;
 case 6:
 System.out.println("\nKarekök İşleminizin Sonucu = " + Math.sqrt(sayi1));
 break;
 }
 }
}
 
Son düzenleme:
Çözüm
Java:
import java.util.Scanner;

public class MyClass {
    public static void main(String args[]) {
        Scanner scan = new Scanner(System.in);
        int sayi1 = 0, sayi2 = 0;
     
        System.out.println("\n**** Hesap Makinesi ****\n");
        System.out.println("\n**** Yapmak istediginiz islemi Seciniz ****\n");
        System.out.println("1. Toplama");
        System.out.println("2. Cikarma");
        System.out.println("3. Carpma");
        System.out.println("4. Bolme");
        System.out.println("5. Yuzde Alma");
        System.out.println("6. Karekok\n");
        System.out.print("Seciminizi Seciniz: ");
     
        int secim = scan.nextInt();
        if (secim > 0 && secim < 7 && secim != 6) {
            System.out.print("1. Sayiyi Giriniz: ");
            sayi1 = scan.nextInt();
            System.out.print("2. Sayiyi Giriniz: ");
            sayi2 = scan.nextInt();
        } else if (secim == 6) {
            System.out.print("Karekok'u Alinacak Sayiyi Giriniz: ");
            sayi1 = scan.nextInt();
        } else {
            System.out.println("Hatali Giris Yaptiniz.");
            System.exit(0);
        }
       
        switch (secim) {
            case 1:
                System.out.println("\nToplama isleminizin Sonucu = " + (sayi1 + sayi2));
                break;
            case 2:
                System.out.println("\nCikarma isleminizin Sonucu = " + (sayi1 - sayi2));
                break;
            case 3:
                System.out.println("\nCarpma isleminizin Sonucu = " + (sayi1 * sayi2));
                break;
            case 4:
                System.out.println("\nBolme isleminizin Sonucu = " + (float)sayi1 / sayi2);
                break;
            case 5:
                System.out.println("\nYuzde isleminizin Sonucu = " + (sayi1 * sayi2/100));
                break;
            case 6:
                System.out.println("\nKarekok isleminizin Sonucu = " + Math.sqrt(sayi1));
                break;
        }
    }
}
Bu şekilde sorunsuz çalışıyor.
Java'da if, else if veya else şartlarından sonra break komutu kullanılmıyor sanırım. Biz break komutunu while döngüsünde kullanıyoruz.

Eğer yapmak istediğinizi kısaca bahsederseniz yardımcı olmaya çalışabilirim.
 
Dediğiniz gibi if else bloklarında break çalışmıyor. bir diğeri ise break olmadan kod çalışıyor ama doğru çalıŞmıyor. Benim burada yapmak istediğim karekök kısmını ilgilendiriyor. 6'yı seçtiğimde benden 2. sayı girdisini karşıma çıkarsın istemiyorum. @Alpaslan64
 
Java:
import java.util.Scanner;

public class MyClass {
    public static void main(String args[]) {
        Scanner scan = new Scanner(System.in);
        int sayi1 = 0, sayi2 = 0;
     
        System.out.println("\n**** Hesap Makinesi ****\n");
        System.out.println("\n**** Yapmak istediginiz islemi Seciniz ****\n");
        System.out.println("1. Toplama");
        System.out.println("2. Cikarma");
        System.out.println("3. Carpma");
        System.out.println("4. Bolme");
        System.out.println("5. Yuzde Alma");
        System.out.println("6. Karekok\n");
        System.out.print("Seciminizi Seciniz: ");
     
        int secim = scan.nextInt();
        if (secim > 0 && secim < 7 && secim != 6) {
            System.out.print("1. Sayiyi Giriniz: ");
            sayi1 = scan.nextInt();
            System.out.print("2. Sayiyi Giriniz: ");
            sayi2 = scan.nextInt();
        } else if (secim == 6) {
            System.out.print("Karekok'u Alinacak Sayiyi Giriniz: ");
            sayi1 = scan.nextInt();
        } else {
            System.out.println("Hatali Giris Yaptiniz.");
            System.exit(0);
        }
       
        switch (secim) {
            case 1:
                System.out.println("\nToplama isleminizin Sonucu = " + (sayi1 + sayi2));
                break;
            case 2:
                System.out.println("\nCikarma isleminizin Sonucu = " + (sayi1 - sayi2));
                break;
            case 3:
                System.out.println("\nCarpma isleminizin Sonucu = " + (sayi1 * sayi2));
                break;
            case 4:
                System.out.println("\nBolme isleminizin Sonucu = " + (float)sayi1 / sayi2);
                break;
            case 5:
                System.out.println("\nYuzde isleminizin Sonucu = " + (sayi1 * sayi2/100));
                break;
            case 6:
                System.out.println("\nKarekok isleminizin Sonucu = " + Math.sqrt(sayi1));
                break;
        }
    }
}
Bu şekilde sorunsuz çalışıyor.
 
Son düzenleme:
Çözüm

Teşekkür ederim cevabınız için. İnt değerlerine neden 0 değerini atadınız bir taraftan da öğrenmeye çalışıyorum.
 
Teşekkür ederim cevabınız için. İnt değerlerine neden 0 değerini atadınız bir taraftan da öğrenmeye çalışıyorum.
Kullanıcı yanlış seçim yaptı diyelim, kullanıcıya hatalı giriş yaptığını belirtip switch'e geçiyoruz. Hesaplama işlemini yaparkende değer atanmamış değişkenlerle işlem yapmaya çalışacağından hata veriyordu. System.exit(0); ekledim o kısma.

Bir bug daha farkedip kodu güncelledim.
 
Bu şekilde de hatalı değer girdiğimizde çalışmayacak ama.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…