gpt4 book ai didi

java - 获取银行程序java的唯一id

转载 作者:行者123 更新时间:2023-11-30 03:46:00 27 4
gpt4 key购买 nike

我正在创建一个银行程序和 hava 类 Account (抽象)、SavingsAccountCustomer (等等)。当我创建一个新的 Savingsaccount 时,我想获取每个帐户的 ID。我的问题是我不知道如何使 id 唯一。

我还缺少什么?如何使用客户和帐户的 ArrayList?还有其他建议吗?这对我来说非常困难,但我正在努力学习和理解。

在银行类中,我创建了几个客户 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);
}

在储蓄帐户类中:

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 到 101 范围内的伪随机数。这并不能确保这些数字不会重复。确保生成唯一 ID 的一些方法是

  1. 如果您使用数据库,请拥有由数据库生成的自动增量编号
  2. 在代码中包含一个静态变量,每次分配 ID 时该变量都会递增
  3. 编写某种形式的哈希函数,根据 Customer 对象生成整数 ID。
  4. 使用UUID也可以生成唯一的 ID。这还可以让您随机计算它并获取 ID 等的哈希值。

关于java - 获取银行程序java的唯一id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25692407/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com