java bankaccount程序问题与方法

java bankaccount程序问题与方法,java,class,methods,bank,Java,Class,Methods,Bank,因此,对于硬件分配,我创建了一个BankAccount类和一个Bank类。它基本上是完整的,除了我在创建一个方法来增加月费的问题。我四处搜索,虽然我发现了大量类似的例子,但没有一个与我所拥有的有效 以下是BankAccount类: public class BankAccount { String owner; int accountNumber; double balance; public BankAccount (String name, int

因此,对于硬件分配,我创建了一个BankAccount类和一个Bank类。它基本上是完整的,除了我在创建一个方法来增加月费的问题。我四处搜索,虽然我发现了大量类似的例子,但没有一个与我所拥有的有效

以下是BankAccount类:

    public class BankAccount {

    String owner;
    int accountNumber;
    double balance;

    public BankAccount (String name, int acct){
        owner = name;
        accountNumber = acct;
    }

    public String toString() {
        String str = owner + " owns the account " + accountNumber + " with the balance of " + String.format("$%,.2f", balance);
        return str;
    }

    public double adjust(double amt) {
        balance = balance + amt;
        return balance;
    }

    public double getBalance() {
        return balance;
    }
}
下面是Bank.java类:

import java.util.Arrays;

public class Bank {

    BankAccount[] bAcct;

    public Bank() {
        //Constructor - will create an array that can hold up to 10 BankAccount objects.
        bAcct = new BankAccount[10];
    }

    public void addAccount(BankAccount a) {
        //This method will take a BankAccount object as a param and place it in the next avail entry in array.
        for(int i = 0; i < bAcct.length; i++) {
            if (bAcct[i] == null){
                bAcct[i] = a;
                break;
            }
        }
    }

    public BankAccount getAccount(int index) {
        //will return a BankAccount object given an integer index value as a param
        return bAcct[index];
    }

    public void printAccounts() {
        //will display all of the BankAccount objects
        for (int i = 0; i < bAcct.length; i++) {
        if(bAcct[i] != null) {
            System.out.println(bAcct[i]);
            }
        }
    }

    public double monthlyFee(double f) {
        //will take a double value as a param and apply that value to every BankAccount object
        for (int i = 0; i < bAcct.length; i++){
            if(bAcct[i] !=null) {


            }
        }

    }
}
我被Bank.java类中的monthlyFee方法卡住了。感谢您的帮助!提前谢谢。

诸如此类:

public void monthlyFee(double f) {
        //will take a double value as a param and apply that value to every BankAccount object
        for (int i = 0; i < bAcct.length; i++){
            if(bAcct[i] !=null) {
                bAcct[i].adjust(f);
            }
        }
    }
从monthlyFee方法中删除了返回,因为您没有使用它,并且不清楚您希望它返回什么


顺便说一句,如果我是你,我会使用and而不是数组,这将为你节省一些不必要的麻烦。

你可以简单地对循环中的每个帐户使用调整方法,并提供费用金额。

你想作为月费应用的确切操作是什么?只是一个删减?噢,天哪,这是我的问题,我太专注于方法中发生的事情了,我没有想到这一点!我没想到它会返回任何东西,只是我的一个愚蠢的疏忽。谢谢
public void monthlyFee(double f) {
        //will take a double value as a param and apply that value to every BankAccount object
        for (int i = 0; i < bAcct.length; i++){
            if(bAcct[i] !=null) {
                bAcct[i].adjust(f);
            }
        }
    }