我正在尝试创建一个方法,该方法在接收器类和参数类之间取得平衡差异的50%,并将其提供给参数类。
到目前为止,我有:
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 ()会抛出错误 "类MoneyFrog中的getAccount方法不能应用于给定的类型;要求:帐户; 发现:没有争论; 原因:实际和正式的参数列表长度不同"
有人可以告诉我为什么方法getAccount不能在这里应用吗?或者我应该采取什么其他方式?
答案 0 :(得分:2)
查看方法签名:
public Account getAccount(Account account)
↑
期望类型为Account
的对象,你不能写:
this.getAccount()
没有参数。根据你的课程,我认为你不需要将Account
对象传递给方法,因此从方法定义中删除它应该可以解决你的问题。
我强烈建议您访问The Java™ Tutorials - Defining Methods以更好地了解Java的基本概念。
答案 1 :(得分:-1)
/**
* Getter method for the Account *field* account
*/
public Account getAccount()
{
return this.account;
}