007 クラス (クラスの利用)012 解答例

BankAccount クラスの宣言

public class BankAccount {
    private double balance;

    // コンストラクタ:初期残高を指定できる
    public BankAccount(double initialBalance) {
        if (initialBalance >= 0) {
            this.balance = initialBalance;
        } else {
            // 初期残高が負の場合はエラーメッセージを表示して 0 に設定
            System.out.println("エラー: 初期残高は負にすることはできません。残高は 0 に設定されます。");
            this.balance = 0;
        }
    }

    // 預金メソッド
    public void deposit(double amount) {
        if (amount > 0) {
            this.balance += amount;
            System.out.println(amount + " 円を預金しました。");
        } else {
            System.out.println("エラー: 預金額は正の値でなければなりません。");
        }
    }

    // 引き出しメソッド
    public void withdraw(double amount) {
        if (amount > 0 && amount <= this.balance) {
            this.balance -= amount;
            System.out.println(amount + " 円を引き出しました。");
        } else {
            System.out.println("エラー: 引き出し額が正しくないか、残高不足です。");
        }
    }

    // 残高表示メソッド
    public void displayBalance() {
        System.out.println("残高: " + balance + " 円");
    }
}

利用例

public class Main {
    public static void main(String[] args) {
        // 新しい口座を作成し初期残高を設定
        BankAccount myAccount = new BankAccount(1000.0);

        // 残高表示
        System.out.println("口座作成後の残高:");
        myAccount.displayBalance();

        // 預金を行い残高表示
        myAccount.deposit(500.0);
        myAccount.displayBalance();

        // 引き出しを行い残高表示
        myAccount.withdraw(200.0);
        myAccount.displayBalance();

        // 不正な引き出しを行い残高表示
        myAccount.withdraw(1500.0);
        myAccount.displayBalance();
    }
}

この例では、BankAccount クラスが初期残高を指定して口座を作成し、預金や引き出しを行いながら残高を表示しています。利用する際に残高が不足した場合や不正な操作があった場合にエラーメッセージを表示していることに注意してください。

「007 クラス」問題集リスト