class 中的方法无法应用于给定类型

method in class cannot be applied to given type

我正在尝试创建一种方法,该方法采用接收方 class 和参数 class 之间的平衡差异的 50%,并将其提供给参数 class。

到目前为止我有:

private boolean lastReceived;    
private boolean lastGiven;    
public Account account;


/**
* Constructor for objects of class MoneyFrog
*/
public MoneyFrog(String holderName, String accountNumber, double anAmount)
{
    super();
    this.lastReceived = false;
    this.lastGiven = false;
    this.account = new Account();
    this.account.setHolder(holderName);
    this.account.setNumber(accountNumber);
    this.account.setBalance(anAmount);
    super.setColour(OUColour.GREEN);
} 

/**
 * Getter method for the Account variable account
 */
public Account getAccount(Account account)
{
    return this.account;
}

/**
 * Method to transfer the 50% of the difference between the balance of the 
 * receiver MoneyFrog and the argument MoneyFrog to the argument MoneyFrog.
 */
public void transfer(MoneyFrog moneyFrog)
{
 this.getAccount().transfer(moneyFrog.getAccount(),this.getAccount().getBalance()/2);
}

但是代码 .getAccount() 抛出错误 “class MoneyFrog 中的方法 getAccount 不能应用于给定类型;required:Account; found:no 个参数; reason:actual 和正式参数列表的长度不同

有人可以告诉我为什么这里不能应用 getAccount 方法吗?或者我应该用什么其他方式来解决这个问题?

查看方法签名:

public Account getAccount(Account account)
                             ↑

需要一个Account类型的对象,你不能写:

this.getAccount()

没有参数。根据您的 class,我认为您不需要将 Account 对象传递给方法,因此将其从方法定义中删除应该可以解决您的问题。

我强烈建议您访问 The Java™ Tutorials - Defining Methods 以更好地了解 Java 的基本概念。

   /**
    * Getter method for the Account *field* account
    */
   public Account getAccount()
   {
     return this.account;
    }