[英]Array of Class Operator Error: unexpected type required: variable found: value
我有一個BankAccount類和嵌套類的數組,包括帶有方法getAcctBalance()的AccountInfoPrv。 錯誤發生在最后一行,在這里我調用BankAccount方法getAccountInfoPrv(),然后進入AccountInfoPrv類以調用getAcctBalance()。 它返回索引i處存在的任何值,我已經在main方法中沒有使用運算符的情況下對此進行了測試,並且它完美地返回了該值。.我不確定我在這里做錯了什么。
另外,此方法涉及很多其他代碼,但我嘗試僅使用此for循環將其簡化。
public static void withdrawal(Scanner kybd, BankAccount[]
account, int num_accts)
{
double amountToWithdraw;
amountToWithdraw = kybd.nextDouble();
for(int i=0; i<num_accts; i++)
account[i].getAccountInfoPrv().getAcctBalance() -=
amountToWithdraw;
}
期望從account [i]的值中減去提款金額,並將account [i]設置為新值。
輸出:錯誤:所需的意外類型:找到變量:值
您要在此處進行的操作是修改getter
方法返回的“值”。 為了對getter
方法返回的值執行任何此類操作,您需要
即
balance = account[i].getAccountInfoPrv().getAcctBalance();
balance -= amountToWithdraw;
account[i].getAccountInfoPrv().setAcctBalance(balance);
如果是非原始類型,則不需要顯式調用setter,因為它將通過引用進行更新。
在這里,您嘗試從不允許的吸氣劑(方法)進行更改。 嘗試
account[i].getAccountInfoPrv().setAcctBalance(account[i].getAccountInfoPrv().getAcctBalance() - amountToWithdraw);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.