Çö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:
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
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 != 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.");
 }

 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.

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.
 
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.
 

Technopat Haberler

Geri
Yukarı