簡體   English   中英

類運算符錯誤數組:所需的意外類型:找到的變量:值

[英]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方法返回的值執行任何此類操作,您需要

  1. 首先需要將其存儲到變量中,
  2. 並修改其價值,
  3. 然后調用設置器以在對象中設置更新的值。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM