我有一个银行类
public class Bank {
public static final double INTEREST = 0.1; //Interest rate charged on overdrawn accounts
private Vector customers=new Vector();
private Address address;
public Bank() {
//address = null;
}
public Bank(Address add) {
customers = new Vector ();
address = add;
}
// add a Customer to the customers Vector
public void addCustomer(Customer cus) {
customers.add(cus);
}
// get and set methods
public Vector getCustomers() {
return customers;
}
public void setCustomers(Vector v) {
customers = v;
}
}
现在我正在将客户添加到银行类
public void actionPerformed(ActionEvent e){
int custnum=b.getBank().getCustomers().size()+1;
ad=new Address(txtCustStreet.getText(),txtCustCity.getText(),txtCustPostCode.getText());
cus=new Customer(txtCustName.getText(),ad,custnum, Integer.parseInt(txtoverdraft.getText()));
if (e.getSource() == jbExit) {
frame.dispose();
}
if (e.getSource() == jbSubmit) {
// b.getBank().setCustomers(null);
b.getBank().addCustomer(cus);
}
System.out.println(b.getBank().getCustomers().size());
}
当我在添加 1 个客户后打印 vector 大小时,它会打印 1 当我添加两个客户时,它会打印出来 1 2 当我添加 3 个客户时,它打印如下 1 2 3
当我添加 3 个客户时,我只想打印 3 个 1 2 3 请帮帮我谢谢
最佳答案
正如 MadProgrammer 上面提到的,您似乎正在使用 actionPerformed
添加方法 Customers
。这会让你看到:
1
2
3
当您添加 3 Customers
时因为如果您在事件处理程序中执行此操作,则必须触发该事件 3 次。其中每一个ActionEvents
正在处理正在触发 actionPerformed
方法有 System.out.println()
在其末尾调用。发生的情况是,您看到了所有三个数字,因为每次调用都打印出 b.getBank().getCustomers().size()
的结果。每次调用该方法时,该值都会增加 1。
如果您使用按钮触发此操作,请尝试查看按钮单击之间的输出,您会发现每次单击按钮时都会有一行输出。如果是这种情况,并且您只想查看 Vector
的最终大小那么你就必须移动你的System.out.println()
在事件处理方法之外调用。
关于JAVA vector 打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12441539/