每次用户输入字符串值时,如何自动生成一个整数值?

How do I auto-generate an integer value for each time a user input a string value?

描述:我的程序要求用户通过输入一些信息(即姓名、金额...)来创建一个人的帐户。这些事情是在一个 while 循环中完成的,这样任务就可以一次又一次地重复。所有信息都存储在带有 ArrayLists 的文件中。我有 getter 和 setter 方法来创建这些对象。

问题:我希望每次用户选择开设新账户时,都必须自动创建一个帐号。它应该从 1 开始递增。因此,第一个帐户的帐户号应为:1,第二个帐户的帐户号应为 2,依此类推...

主要class:

//create account
BankAccount bankAcc = new BankAccount();
System.out.println("Enter Full Name:");
bankAcc.setName(sc.nextLine());
/*
System.out.println("Choose an Account Number:");//the acc Num must be generated automatically
bankAcc.setAccNum(sc.nextInt());
*/
System.out.println("Choose the initial amount:");
bankAcc.setInitiateAmount(sc.nextDouble());
//adding those into the arrayList
bankAccounts.add(bankAcc);
//writing into file
rw.writeToFile(bankAccounts);

银行账户:

public BankAccount() {
        this.name = null;
        this.accNum = 0;
        this.initiateAmount = 0;
}

public void setAccNum(int accNum) {
        this.accNum = accNum;
}

public int getAccNum() {
        return accNum;
}

对于简单的模拟(如学校作业),您可以使用 static 变量:

class BankAccount {
    private static int nextAccountNumber = 0;

    static int getNewAccountNumber() {
        int newNumber = nextAccountNumber;
        nextAccountNumber++;
        return newNumber;
    }

    ...

    BankAccount() {
        this.accNum = getNewAccountNumber();
    }
}

参见Understanding Class Members