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;
}
我正在尝试创建一种方法,该方法采用接收方 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;
}