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);