008-002-004

複雑なオブジェクト操作: 銀行口座クラスで引数・戻り値・状態管理を統合したメソッド実行

上級

問題説明

この問題では: BankAccountの各操作をステートレスなメソッドとして実装します。残高・利率・金額をすべてパラメータとして受け取り、計算結果を戻り値として返します。

解説: 引数・戻り値を使ったメソッド設計

この問題では、パラメータとして渡されたデータから計算結果を返す純粋なメソッドを学びます。

学習のポイント

  1. 引数による状態入力: balancerateを引数で受け取る
  2. double型の計算と戻り値: 利息・残高などの計算結果を返す
  3. 条件付き戻り値: 残高に応じたステータス文字列を返す
  4. ステートレス設計: インスタンス変数なし、同じ引数→同じ結果

コード例の解説

public double calculateInterest(double balance, double rate) {
    if (rate <= 0 || rate > 1) {
        System.out.println("Error: Invalid interest rate");
        return 0;
    }
    return balance * rate;  // 利息額を返す
}

このメソッドは残高と利率を引数で受け取り、利息額を計算して返します。クラスに状態を保存しません。

ステータス判定の例

public String getAccountStatus(double balance) {
    if (balance >= 1000) {
        return "Premium";
    } else if (balance >= 500) {
        return "Standard";
    } else {
        return "Basic";
    }
}

学んだこと

ステートレスなメソッド設計では、必要なデータをすべて引数で渡し、計算結果のみを戻り値として返します。同じ引数なら常に同じ結果が得られるため、テストや理解が容易です。

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方

新規登録