java | bankaccount类构造函数中的void方法

093gszye  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(292)

我需要为接受double的取款创建一个void方法,同时设置余额+解析为double的输入金额。
到目前为止,我已经打了这样一个字:public void;我不知道如何继续。
这是我的全部代码:

// Create a class named BankAccount
public class BankAccount {

    // Create a double named balance
    double balance;
    // Create a no-arg constructor named BankAccount
        // Set balance to 0.0
        public BankAccount()
        {
            balance = 0.0;
        }

    // Create a constructor named BankAccount that accepts a BankAccount object
        public BankAccount(double initialBalance)
        {

        // Set balance to the balance of the BankAccount object
        balance = initialBalance;

        }

    // Create a constructor named BankAccount that accepts a double
        // Set balance to the user's entered double
        public BankAccount(double userBalance)
        {
        balance = userBalance;
        }

    // Create a constructor named BankAccount that accepts a string
        // Set balance to the user's entered string parsed as a double
        public BankAccount(String[])
        {
            double balance = 0;
        }

    // Create a void method for deposits that accepts a double for the amount
        // Set balance to balance + the amount entered
        public void deposit(double depositAmount)
        {
        balance += double depositAmount;
        }

    // Create a void method for deposits that accepts a string for the amount
        // Set balance to balance + the amount entered parsed as a double
        public void deposit(String[])
        {
            balance += double depositAmount;
        }

    // Create a void method for withdrawals that accepts a double for the amount
        // Set balance to balance - the amount entered
        public void

(这是一项任务。我的一个同学推荐这个网站是为了得到一些帮助,我的老师对从不同的网站上寻找答案很冷淡。)
编辑:我完成了代码,但得到一些错误。以下是我得到的错误:

./BankAccount.java:32: error: <identifier> expected
        public BankAccount(String[])
                                   ^
./BankAccount.java:24: error: constructor BankAccount(double) is already defined in class BankAccount
        public BankAccount(double userBalance)
               ^
Main.java:19: error: cannot find symbol
        account1 balance = 1200;
        ^
  symbol:   class account1
  location: class Main
./BankAccount.java:69: error: cannot find symbol
            balance = userBalance;
                      ^
  symbol:   variable userBalance
  location: class BankAccount
4 errors
jyztefdp

jyztefdp1#

如果要创建方法,必须具有返回类型。它应该在访问修饰符之后,方法名称之前。
为了澄清,void是一种返回类型,它表示不需要方法返回数据(隐式地,它只返回null)
从您的示例中,可以使用以下方法来添加参数的值 depositAmount 到全局变量 balance :

public void deposit(double depositAmount) {
    balance += depositAmount;
}

在您的示例中,您不需要再次声明变量类型(double),因为它已经在参数上声明过了。
对于您的其他要求,您可以使用以下方法以字符串形式存放depositamounts数组:

public void deposit(String [] depositAmounts) {
    for (int i = 0; i < depositAmounts.length; i++) {
        balance += Double.parseDouble(depositAmounts[i]);
    }
}

要创建取款方法,可以使用以下方法:

public void withdraw(double withdrawAmount) {
    balance -= withdrawAmount;
}

干杯。

oug3syen

oug3syen2#

您希望按以下方式继续:

public void withdraw(double amount) {
    balance -= amount;
}

方法draw是void返回类型,这意味着它不返回任何内容。如果希望它返回余额,则需要键入double而不是void并添加返回值(return balance;)。当然,这不是必须的,也不是必须的,我只是指出了虚无的区别。
从目前的情况来看,上面的代码将接受一个参数—要提取的金额—并从余额中减去该金额。

相关问题