java - 如何在用户每次输入字符串值时自动生成整数值?

标签 java arrays oop increment getter-setter

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

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

主类:

//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;
}

最佳答案

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

class BankAccount {
    private static int nextAccountNumber = 0;

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

    ...

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

参见Understanding Class Members .

关于java - 如何在用户每次输入字符串值时自动生成整数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30142980/

相关文章:

java - 在新变量中使用 startDate 和 endDate 定义自己的日期间隔

java - 高负载下 Groovy Shell 解释器中的锁争用

c++ - 使用 this = new Foo()? 从内部将一个对象的实例设置为另一个对象的实例?

javascript - 使用ajax获取json数组

c# - 使用单一方法类——最好的方法?

java - Eclipse:创建两个共享文件的项目

java - 如何组合Switch语句?

Javascript 数组在初始化后只包含未定义的,不包含给定的值

c++ - 如何隐藏 C++ dll 中的类?

python - 为什么内置函数而不是根类方法?