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

时间:2015-05-09 17:26:05

标签: java arrays oop increment getter-setter

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

问题:我希望每次用户选择开设新帐户时,都必须自动创建帐号。它应该从1开始增加。因此,第一个帐户应该有帐号num: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);

的BankAccount

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

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

public int getAccNum() {
        return accNum;
}

1 个答案:

答案 0 :(得分:1)

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

class BankAccount {
    private static int nextAccountNumber = 0;

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

    ...

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

请参阅Understanding Class Members