我正在创建一个银行程序和hava类Account
(摘要),SavingsAccount
和Customer
(以及其他)。当我创建新的savingsaccount
时,我希望为每个帐户获取一个ID。我的问题是我无法弄清楚如何使id唯一。
我还缺少什么?如何为客户和帐户使用ArrayList
?还有其他建议吗?这对我来说非常困难,但我正在努力学习和理解。
在Bank类中,我创建了几个客户c1和c2。然后我为客户c1创建了两个帐户。
public class Bank {
public static void main(String[] args) {
ArrayList<Customer> customerList = new ArrayList<Customer>();
ArrayList<Account> accountList = new ArrayList<Account>();
Customer c1 = new Customer("John");
Customer c2 = new Customer("Sam");
SavingsAccount a1 = new SavingsAccount(c1);
SavingsAccount a2 = new SavingsAccount(c1);
customerList.add(c1);
customerList.add(c2);
accountList.add(a1);
accountList.add(a2);
}
}
在帐户类中:
public abstract class Account {
protected int balance;
protected int id;
protected double interest;
protected Customer name;
public Account() {}
public Account(Customer name) {
this.name = name;
}
public abstract void deposit(int amount);
public abstract void withdraw(int amount);
public abstract int getBalance();
public abstract void transfer(int amount, Account account);
}
在SavingsAccount类中:
public class SavingsAccount extends Account{
public SavingsAccount() {
super();
}
SavingsAccount(Customer person) {
name = person;
id = (int) Math.floor(Math.random()*101); //This won't generate a unique number for each savingsaccount
}
}
答案 0 :(得分:2)
您在代码中所做的是获取0到101范围内的伪随机数。这并不能确保数字不会重复。确保唯一ID生成的一些方法是
答案 1 :(得分:0)
当然数学随机给你一个随机数但不是唯一的...使用UUID.randomUUID()。toString()