[英]Update value in Java ArrayList
我不太確定該題目的標題,在此道歉。 我目前在BidderArray中存儲的值為50。 我希望能夠通過在文本字段中輸入的任何給定數字來增加該50。
假設我想將10加到現有的50上,它將返回60。目前,當我將10加到50時,將替換為10,而不是將兩者加在一起。 我了解為什么我的代碼會執行此操作,但是卻找不到任何教程或提示來代替我應該執行的操作。
這是代碼:
package abc;
import java.awt.*;
public class Funds extends javax.swing.JFrame {
int i = 0;
Bidder bidbal = new Bidder();
/** Creates new form Funds */
public Funds() {
initComponents();
}
private void addActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int f = 0;
boolean validEntries = true;
try{
f = Integer.parseInt(amount.getText());
Bidder.BidderArray.get(i).setRegFee(f);
} catch (Exception error) {
validEntries = false;
amount.setBackground(Color.red);
}
if (validEntries) {
Bidder.exportBidder();
Home home = new Home();
home.setVisible(true);
this.dispose();
}
}
}
Bidder.BidderArray.get(i).setRegFee(f);
顯然只是將某些東西設置為f
,您必須get
當前值,將其添加到該值,然后再放回去。 但這只是一個猜測,因為我們沒有足夠的實際代碼來知道您在做什么錯。
f = Integer.parseInt(amount.getText());
Bidder.BidderArray.get(i).setRegFee(f);
在這里,好像您正在獲取用戶的輸入( f
),並只需為其設置數組的元素值。 聽起來像您想要做的就是將輸入( f
) 和數組元素的現有值合並 (讀取:添加),然后將元素的值設置為新的合並值。
用偽代碼,這是您正在做的:
f := get user's input
setValue(f)
你需要做什么:
f := get user's input
g := get current value
setValue(f + g)
您必須將其添加到舊值:
//Add old to new (Unless you have a different method set for get like
//getRegFee (Not sure how bidder is implemented))
Bidder.BidderArray.get(i).setRegFee(Bidder.BidderArray.get(i) + f);
您必須獲取當前費用,添加值,然后設置費用:
f = Integer.parseInt(amount.getText());
Bidder.BidderArray.get(i).setRegFee( f + Bidder.BidderArray.get(i).getRegFee() );
或者,您可以添加Bidder
類的新方法來增加費用:
class Bidder
{
//...
public void addToRegFee( int amount )
{
this.regFee += amount;
}
}
f = Integer.parseInt(amount.getText());
Bidder.BidderArray.get(i).addToRegFee( f );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.