Menu
Coddy logo textTech

Özet - Banka Hesabı Yöneticisi

Coddy'nin Java Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 14 / 87.

challenge icon

Görev

Kolay

Kapsülleme (encapsulation), erişim belirleyiciler (access modifiers), getter'lar, setter'lar ve final anahtar kelimesi hakkında öğrendiğiniz her şeyi bir araya getiren eksiksiz bir BankAccount sistemi oluşturalım.

Kodunuzu düzenlemek için iki dosya oluşturacaksınız:

  • BankAccount.java: Hassas finansal verileri koruyan güvenli bir banka hesabı sınıfı tasarlayın:
    • Hesap oluşturulduktan sonra asla değişemeyen sabit (immutable) bir hesap numarası
    • 0.0'dan başlayan ve yalnızca kontrollü yöntemlerle değiştirilebilen özel (private) bir bakiye
    • Alınabilen ancak doğrudan değiştirilemeyen özel (private) bir sahip adı
    • Hesap numarasını ve sahip adını alan bir yapıcı (constructor)
    • Hesap numarası için bir getter
    • Sahip adı için bir getter
    • Bakiye için bir getter
    • Yalnızca miktar pozitifse bakiyeye ekleme yapan, başarı durumunda true veya reddedilirse false döndüren bir deposit(double amount) metodu
    • Yalnızca miktar pozitifse VE yeterli bakiye varsa bakiyeden düşen, başarı durumunda true veya reddedilirse false döndüren bir withdraw(double amount) metodu
    • Şu formatı döndüren bir getAccountSummary() metodu: "Account [accountNumber] | Owner: [ownerName] | Balance: $[balance]" (bakiye 2 ondalık basamak olacak şekilde formatlanmış)
  • Main.java: Bir BankAccount oluşturun ve bir dizi işlem gerçekleştirin. Beş girdi alacaksınız: hesap numarası, sahip adı, para yatırma miktarı, ilk para çekme miktarı ve ikinci para çekme miktarı. Dört satır yazdırın:
    • Para yatırma işleminin sonucu: Deposit: true veya Deposit: false
    • İlk para çekme işleminin sonucu: Withdraw 1: true veya Withdraw 1: false
    • İkinci para çekme işleminin sonucu: Withdraw 2: true veya Withdraw 2: false
    • Nihai hesap özeti

Sırasıyla beş girdi alacaksınız: accountNumber (String), ownerName (String), depositAmount (double), withdrawAmount1 (double), withdrawAmount2 (double).

Bakiyeyi 2 ondalık basamağa formatlamak için String.format("%.2f", balance) kullanabilirsiniz.

Kendin dene

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Girdileri oku
        String accountNumber = scanner.nextLine();
        String ownerName = scanner.nextLine();
        double depositAmount = scanner.nextDouble();
        double withdrawAmount1 = scanner.nextDouble();
        double withdrawAmount2 = scanner.nextDouble();
        
        // TODO: accountNumber ve ownerName ile bir BankAccount nesnesi oluşturun
        
        // TODO: Para yatırma işlemini gerçekleştirin ve sonucu "Deposit: true" veya "Deposit: false" olarak yazdırın
        
        // TODO: İlk para çekme işlemini gerçekleştirin ve sonucu "Withdraw 1: true" veya "Withdraw 1: false" olarak yazdırın
        
        // TODO: İkinci para çekme işlemini gerçekleştirin ve sonucu "Withdraw 2: true" veya "Withdraw 2: false" olarak yazdırın
        
        // TODO: Hesap özetini yazdırın
    }
}

Nesne Yönelimli Programlama bölümündeki tüm dersler