Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法通过for循环创建对象_Java_Arrays_Loops_Object_Banking - Fatal编程技术网

Java 无法通过for循环创建对象

Java 无法通过for循环创建对象,java,arrays,loops,object,banking,Java,Arrays,Loops,Object,Banking,我一直在为帐户创建对象,我不知道问题出在哪里。我的输出仅显示最近输入的值。我想看看打印的细节,特别是我创建的不同id,我不知道怎么做 请检查我的代码,因为我认为我的循环中有一个bug,有些显示不需要显示的消息 BankSystem.java: 你真的应该考虑将代码拆分为子程序;分解它将有助于划分不同的功能 至于你的虫子;我想你是说所有的账户都有相同的价值,而你并没有预料到这一点 创建新帐户时,您的代码如下所示: for (int i=0; i<account.length; i++) {

我一直在为帐户创建对象,我不知道问题出在哪里。我的输出仅显示最近输入的值。我想看看打印的细节,特别是我创建的不同id,我不知道怎么做

请检查我的代码,因为我认为我的循环中有一个bug,有些显示不需要显示的消息

BankSystem.java:


<>你真的应该考虑将代码拆分为子程序;分解它将有助于划分不同的功能

至于你的虫子;我想你是说所有的账户都有相同的价值,而你并没有预料到这一点

创建新帐户时,您的代码如下所示:

for (int i=0; i<account.length; i++) {
    account[i] = new BankAccount(id, balance, interestRate);
}

每次运行该行时,都会用一个新的BankAccount对象替换数组中的每个元素。

您的问题是用最新输入的银行帐户填充整个银行帐户数组

for (int i=0; i<account.length; i++) {
account[i] = new BankAccount(id, balance, interestRate);

}
并在的位置使用,然后卸下

if(amountOfBankAccounts < 5) {
  account[amountOfBankAccounts++] = new BankAccount(id, balance, interestRate);
} else {
  System.out.println("Can not create a new account anymore, array is full!");
}

这应该可以解决问题。一旦成功,我建议您花些时间创建函数,使代码更具可读性和可重用性。

请缩进代码。目前几乎不可能阅读。请更精确地描述您的问题,期望的行为是什么,等等。您的一个开关结构没有中断;在case语句和有一个case语句之间,在第一个代码段中缺少一个主体,从而缩小了问题的范围。当然,大部分代码与该问题无关。正如其他人所说,也请花时间格式化和缩进你的代码。我的坏家伙,对不起,编辑完毕,谢谢。我的问题是当我创建一个新帐户时。我只是在替换它。@RaycharlesDelaCruz不只是发布一条评论,告诉我们来自的解决方案帮助了您,而是接受他的回答我应该替换什么代码?我想做不同的帐户,而不是取代几乎花了3个小时寻找这个感谢启示杰米。我现在知道该怎么做了,你也应该考虑把你的银行账户对象放进一个列表中,而不是一个固定大小的数组。查看javadoc中的集合,如ArrayList或HashMap。如何标记sir juru。对不起,我是新来的。我能要求最后一件事吗。用if语句查找帐户id号怎么样?只需按答案左上角的V形符号。我真的不知道你想找什么。但是,如果您想查找具有您提供的特定id的银行帐户,您可以使用循环遍历所有银行帐户,并使用if语句ifgivenId==bankAccounts[i].getIDNumber
for (int i=0; i<account.length; i++) {
account[i] = new BankAccount(id, balance, interestRate);

}
int amountOfBankAccounts = 0;
if(amountOfBankAccounts < 5) {
  account[amountOfBankAccounts++] = new BankAccount(id, balance, interestRate);
} else {
  System.out.println("Can not create a new account anymore, array is full!");
}