CodeBlanks Logo Icon CodeBlanks

Çarpma/bölme

Çarpma, bölme ve sıfır kontrolü eklersin.

multiply ve divide

Hesap makinesine çarpma ve bölme metotlarını ekleyeceğiz. multiply iki sayıyı çarpar, divide birinci sayıyı ikinciye böler.

static int multiply(int a, int b) {
    return a * b;
}
static int divide(int a, int b) {
    if (b == 0) {
        return 0;
    }
    return a / b;
}

divide'da sıfıra bölme kontrolü vardır: eğer b sıfırsa metot 0 döndürür. Bu, programın çökmesini önler. Java normalde sıfıra bölmeyi deneyince ArithmeticException fırlatır.

Uygulama multiply ve divide metotlarını ekle

Mevcut sınıfa static int multiply(int a, int b) ve static int divide(int a, int b) metotlarını ekle. multiply a * b, divide sıfır kontrolüyle a / b döndürsün. main'de multiply(5, 3) ve divide(10, 2) çağrılarını println ile yazdır; mevcut çağrılar korunsun.

Başlangıç kodu

Main.java
public class Main {
    static int add(int a, int b) {
        return a + b;
    }
    static int subtract(int a, int b) {
        return a - b;
    }
    public static void main(String[] args) {
        System.out.println("Hesap makinesi");
        System.out.println(add(5, 3));
        System.out.println(subtract(5, 3));
    }
}

Örnek çözüm

Main.java
public class Main {
    static int add(int a, int b) {
        return a + b;
    }
    static int subtract(int a, int b) {
        return a - b;
    }
    static int multiply(int a, int b) {
        return a * b;
    }
    static int divide(int a, int b) {
        if (b == 0) {
            return 0;
        }
        return a / b;
    }
    public static void main(String[] args) {
        System.out.println("Hesap makinesi");
        System.out.println(add(5, 3));
        System.out.println(subtract(5, 3));
        System.out.println(multiply(5, 3));
        System.out.println(divide(10, 2));
    }
}

Beklenen çıktı

Hesap makinesi
8
2
15
5

Sıfıra bölme

Tamsayılarla sıfıra bölmek Java'da ArithmeticException fırlatır. Bu, programın çalışmasını durdurur ve kullanıcıya hata gösterir.

Bunu önlemek için divide metodumuz b == 0 kontrolü yapar ve güvenli bir şekilde 0 döndürür. Buna önceden koruma denir.

Sonraki derste aynı korumayı try/catch ile de yapacağız. Bu, hatayı yakalamanın farklı bir yoludur.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 multiply return ifadesini tamamla

Soru
static int multiply(int a, int b) { return a ____ b; }
Cevap
static int multiply(int a, int b) { return a * b; }

Açıklama: return a * b; ile çarpma yapılır.

2 İşlemleri eşleştir

Kavram Anlamı
add Toplama
subtract Çıkarma
multiply Çarpma
divide Bölme

3 divide(10, 0) bu kodda ne döner?

  • 0 Doğru cevap
  • Hata verir
  • 10
  • 1

Açıklama: Sıfır kontrolü sayesinde 0 döner, hata oluşmaz.

Başlangıç bölümündeki tüm dersler