Java 如何将某物实例的名称设置为整数的值?

Java 如何将某物实例的名称设置为整数的值?,java,Java,我已经试过了: public static void accountTypeSavings() { boolean b = true; while (b) { String startBalanceString = JOptionPane.showInputDialog(null, "Enter the starting balance in dollars without the dollar sign."); try {

我已经试过了:

public static void accountTypeSavings() {
    boolean b = true;
    while (b) {
        String startBalanceString = JOptionPane.showInputDialog(null, "Enter the starting balance in dollars without the dollar sign.");
        try {
            double startBalance = Double.parseDouble(startBalanceString);
            int accountID = 1;
            SavingsAccount accountID = new SavingsAccount(holder, startBalance);
            accountID += 1;
            b = false;
        }
        catch (final Exception ignored) {
            JOptionPane.showMessageDialog(null, "Only enter numbers, please.");
        }
    }
}
创建一个整数并将储蓄帐户的名称设置为整数。但这给了我一个错误“重复的局部变量accountID”

使用我的应用程序时,我希望得到以下信息:

SavingsAccount sa1 = new SavingsAccount(holder, startBalance);
SavingsAccount sa2 = new SavingsAccount(holder, startBalance);
SavingsAccount sa3 = new SavingsAccount(holder, startBalance);
参数是已经初始化的变量

我想将新SavingsAccount的名称设置为accountID的值。因此,如果我创建一个SavingsAccount的新实例,我希望我的应用程序将其名称设置为sa1。如果我再创建一个,命名为sa2,sa3,sa4,等等

PS:Holder是一个字符串,它包含某人的名字!这不是一个整数


我希望你明白我的意思

您需要的是一个列表。因此,添加另一个静态变量savingsAccountList

public static List<SavingsAccount> savingsAccountList = new ArrayList<SavingsAccount>();
您还需要导入java.util.List

int accountID = 1;
SavingsAccount accountID = new SavingsAccount(holder, startBalance);
您不能有两个同名的变量。

您可能希望在方法之外的列表中存储节省的变量。我建议一个领域:

private static List<SavingsAccount> savingsAccounts = new ArrayList<SavingsAccount>();
稍后,您可以从列表中访问储蓄帐户以修改其属性:

savingAccounts.get(0).addAmount(amount); // something like this to add money to the first account
但是如果有第二个储蓄帐户,我如何让应用程序创建一个名为sa2的储蓄帐户,然后再创建一个名为sa3的储蓄帐户等等

声明一个全局整型,比如说索引

private int index;
在构造函数中将其设置为1:

this.index = 1;
每次有人创建储蓄账户时,增加指数

SavingsAccount accountID = new SavingsAccount(holder + index++, startBalance);
这将把
index
的当前值添加到
holder
字符串的末尾,然后增加
index
的值

编辑

好吧,我明白你的意思了,但变量不能以数字开头,也不能仅以数字命名。相反,为什么不将这些帐户添加到
数组
列表
实现中呢

List<SavingsAccount> accounts = new ArrayList<SavingsAccount>();
accounts.add(new SavingsAccount("Dave", something);
accounts.add(new SavingsAccount("Bill", somethingElse);

注意:此列表基于0。这意味着
accounts.get(0)将获得第一项。

我得到的是“重复的局部变量accountID”。accountTypeSavings不是一个类。它是一个函数!!我不是100%确定你的意思,但对我来说,看起来你想做一些事情,例如
newsavingsaccount(“acc1”,100.0)
然后将SavingsAccount实例的变量名设置为
acc1
,这样您就可以执行如下操作:
acc1.getBalance()
。然而,这根本不可能。几乎是对的。如果我使用GUI创建一个新的储蓄账户,我希望它创建一行如下:
SavingsAccount 1=new SavingsAccount(holder,startBalance)。如果我创建了另一个,我希望我的应用程序创建这一行:
SavingsAccount 2=newsavingsaccount(holder,startBalance)编辑:持有者是一个包含名称的字符串。它已经通过使用不同的方法设置为名称(如Sander de Lange)。Java变量不能以数字开头。因此不可能!那是因为支架是一根绳子。它包含银行帐户所有者的名称仅适用于整数和双精度。我用另一种方法初始化了holder字符串。因此,拆下线路支架=“holderName”。它应该可以工作!或者简单地将holder初始化为holder=“”,无论您在哪里初始化。没有人理解它。您不能这样做:
SavingsAccount sa1=新的SavingsAccount(“持有者”,startBalance)
SavingsAccount sa1=新的SavingsAccount(“保持器1”,开始平衡)因为SA1已经存在。它与参数无关。但是我如何将储蓄帐户的名称设置为accountID整数的值?根据您提供的信息,很难说。请为
SavingsAccount
添加代码。我应该使用什么代码??我是一个java noob。我只是随便玩玩而已。。我不想那样。我不是英国人,所以很难解释,尤其是当我谈论编码时。我只有13岁。但是如果我用这个,我也会有问题的。因为如果我创建多个储蓄账户,它们都将被命名为accountID。这就是我的问题所在。您希望动态命名变量。我懂了。看看我的编辑。谢谢,我会试试的!我刚刚尝试了你的想法,但是出现了一个错误:无法实例化类型列表。在这部分的单词列表下面有一条红线:
=newlist()。我道歉。我犯了一个粗心的错误。将
新列表
替换为
新ArrayList()
SavingsAccount accountID = new SavingsAccount(holder + index++, startBalance);
List<SavingsAccount> accounts = new ArrayList<SavingsAccount>();
accounts.add(new SavingsAccount("Dave", something);
accounts.add(new SavingsAccount("Bill", somethingElse);
accounts.get(1);