Java 我不能这样做吗?获得';例外情况';错误

Java 我不能这样做吗?获得';例外情况';错误,java,error-handling,Java,Error Handling,获取以下错误:“.Exception in thread”main“java.lang.NullPointerException " //创建10个帐户 账户[]账户阵列=新账户[10]; //数据字段 双atmVal; //将每个帐户的离散id和初始余额设置为100 对于(int i=0;i当您创建一个对象数组时,您得到的只是一个大小正确但充满nulls的数组。您需要通过说出new Account()来创建每个对象并将其分配给数组。您甚至可以在同一个循环中执行此操作。当您创建对象数组时,您得到

获取以下错误:“.Exception in thread”main“java.lang.NullPointerException "

//创建10个帐户
账户[]账户阵列=新账户[10];
//数据字段
双atmVal;
//将每个帐户的离散id和初始余额设置为100

对于(int i=0;i当您创建一个对象数组时,您得到的只是一个大小正确但充满
null
s的数组。您需要通过说出
new Account()来创建每个对象
并将其分配给数组。您甚至可以在同一个循环中执行此操作。

当您创建对象数组时,您得到的只是一个大小正确但充满
null
s的数组。您需要通过说
new Account()来创建每个对象
并将其分配给数组。您甚至可以在同一个循环中执行此操作。

当您创建对象数组时,您得到的只是一个大小正确但充满
null
s的数组。您需要通过说
new Account()来创建每个对象
并将其分配给数组。您甚至可以在同一个循环中执行此操作。

当您创建对象数组时,您得到的只是一个大小正确但充满
null
s的数组。您需要通过说
new Account()来创建每个对象
并将其分配给数组。您甚至可以在同一循环中执行此操作。

您的数组已初始化为包含10个帐户,但它们仍然为空。将循环更改为:

 for (int i=0;i<10;i++){
        ArrArray[i] = new Account(); // whatever constructor parameters are needed
        AccArray[i].setId(i); // this line is specified in the error
        AccArray[i].setBalance(100);
     }

for(int i=0;i您的数组已初始化为包含10个帐户,但它们仍然为空。将循环更改为:

 for (int i=0;i<10;i++){
        ArrArray[i] = new Account(); // whatever constructor parameters are needed
        AccArray[i].setId(i); // this line is specified in the error
        AccArray[i].setBalance(100);
     }

for(int i=0;i您的数组已初始化为包含10个帐户,但它们仍然为空。将循环更改为:

 for (int i=0;i<10;i++){
        ArrArray[i] = new Account(); // whatever constructor parameters are needed
        AccArray[i].setId(i); // this line is specified in the error
        AccArray[i].setBalance(100);
     }

for(int i=0;i您的数组已初始化为包含10个帐户,但它们仍然为空。将循环更改为:

 for (int i=0;i<10;i++){
        ArrArray[i] = new Account(); // whatever constructor parameters are needed
        AccArray[i].setId(i); // this line is specified in the error
        AccArray[i].setBalance(100);
     }

对于(int i=0;i您需要实例化一个
帐户
,假设您有一个空的构造函数
帐户
,您会使用如下内容-

 for (int i=0;i<10;i++) {
   AccArray[i] = new Account(); // <-- like so.
   AccArray[i].setId(i); // this line is specified in the error
   AccArray[i].setBalance(100);
 }

对于(int i=0;i您需要实例化一个
帐户
,假设您有一个空的构造函数
帐户
,您会使用如下内容-

 for (int i=0;i<10;i++) {
   AccArray[i] = new Account(); // <-- like so.
   AccArray[i].setId(i); // this line is specified in the error
   AccArray[i].setBalance(100);
 }

对于(int i=0;i您需要实例化一个
帐户
,假设您有一个空的构造函数
帐户
,您会使用如下内容-

 for (int i=0;i<10;i++) {
   AccArray[i] = new Account(); // <-- like so.
   AccArray[i].setId(i); // this line is specified in the error
   AccArray[i].setBalance(100);
 }

对于(int i=0;i您需要实例化一个
帐户
,假设您有一个空的构造函数
帐户
,您会使用如下内容-

 for (int i=0;i<10;i++) {
   AccArray[i] = new Account(); // <-- like so.
   AccArray[i].setId(i); // this line is specified in the error
   AccArray[i].setBalance(100);
 }

for(int i=0;i正如其他人指出的那样,创建一个新的
帐户数组实际上并不会创建任何
帐户;您必须自己使用
new
。Java 8为您提供了一个很好的方法:

Account[] accounts = new Account[10]; 
Arrays.setAll(accounts, i -> new Account());

setAll
的第二个参数是一个lambda表达式,它接受一个整数参数
i
(正在设置的元素的索引),并将数组元素设置为
new Account()
。表达式实际上不使用索引,但可以使用表达式(或块)如果你愿意的话,它确实会使用
i

正如其他人所指出的,创建一个新的
帐户数组实际上不会创建任何
帐户;你必须自己使用
新的
。Java 8为你提供了一个很好的方法:

Account[] accounts = new Account[10]; 
Arrays.setAll(accounts, i -> new Account());

setAll
的第二个参数是一个lambda表达式,它接受一个整数参数
i
(正在设置的元素的索引),并将数组元素设置为
new Account()
。表达式实际上不使用索引,但可以使用表达式(或块)如果你愿意的话,它确实会使用
i

正如其他人所指出的,创建一个新的
帐户数组实际上不会创建任何
帐户;你必须自己使用
新的
。Java 8为你提供了一个很好的方法:

Account[] accounts = new Account[10]; 
Arrays.setAll(accounts, i -> new Account());

setAll
的第二个参数是一个lambda表达式,它接受一个整数参数
i
(正在设置的元素的索引),并将数组元素设置为
new Account()
。表达式实际上不使用索引,但可以使用表达式(或块)如果你愿意的话,它确实会使用
i

正如其他人所指出的,创建一个新的
帐户数组实际上不会创建任何
帐户;你必须自己使用
新的
。Java 8为你提供了一个很好的方法:

Account[] accounts = new Account[10]; 
Arrays.setAll(accounts, i -> new Account());
setAll
的第二个参数是一个lambda表达式,它接受一个整数参数
i
(正在设置的元素的索引),并将数组元素设置为
new Account()
。表达式实际上不使用索引,但如果需要,可以使用使用使用
i
的表达式(或块)