Java 将数据存储到对象数组元素中会返回NullPointerException

Java 将数据存储到对象数组元素中会返回NullPointerException,java,arrays,nullpointerexception,Java,Arrays,Nullpointerexception,代码: 说明: 上述程序不会抛出任何编译错误 在运行程序时,当在控制台上输入数据作为名称时,它可以从控制台获取数据,但不能存储到数组对象中 我已经尝试将从控制台检索到的数据存储到一个临时变量(不是数组元素)中,并且它存储正确 因此,我可以得出结论,只有当它试图将数据存储到数组对象中时,才会出现问题 但是,阵列已成功创建。我已尝试打印数组长度。它给出了正确的长度。。三, 请在这方面帮助我,我已经尝试在谷歌上搜索很多,但无法找到任何修复相同 Size of Array 3 Enter Custom

代码:


说明:

  • 上述程序不会抛出任何编译错误
  • 在运行程序时,当在控制台上输入数据作为名称时,它可以从控制台获取数据,但不能存储到数组对象中
  • 我已经尝试将从控制台检索到的数据存储到一个临时变量(不是数组元素)中,并且它存储正确
  • 因此,我可以得出结论,只有当它试图将数据存储到数组对象中时,才会出现问题
  • 但是,阵列已成功创建。我已尝试打印数组长度。它给出了正确的长度。。三,
  • 请在这方面帮助我,我已经尝试在谷歌上搜索很多,但无法找到任何修复相同

    Size of Array 3
    Enter Customer Name : 
    Nirav
    Exception in thread "main" java.lang.NullPointerException
        at StoreSell.main(StoreSell.java:38)
    
    这将创建数组,而不是单个元素,您需要自己创建这些元素,例如在循环中:

    Customer[] cst = new Customer[3];
    
    for(int i=0;i
    这将创建数组,而不是单个元素,您需要自己创建这些元素,例如在循环中:

    Customer[] cst = new Customer[3];
    
    for(int i=0;i这是一个猜测*
    说我疯了,但这样做,cst[i].ID=100+(i+1);实际上增加i?

    这是一个猜测*
    可以说我疯了,但是这样做了,cst[i].ID=100+(i+1);实际上增量i?

    初始化数组会用默认值填充数组中的所有位置,对于对象数组,默认值为null。因此,下面的代码:

    for (int i=0;i<cst.length;i++)
    {
        cst[i] = new Customer();
    
    创建以下数组:

    Customer[] cst = new Customer[3];
    
    初始化数组的方法有很多种,但如果您确定只使用3元素数组,请选择以下方法:

    {null, null, null}
    

    初始化数组会使用默认值填充数组中的所有位置,对于对象数组,默认值为null。因此,以下代码:

    for (int i=0;i<cst.length;i++)
    {
        cst[i] = new Customer();
    
    创建以下数组:

    Customer[] cst = new Customer[3];
    
    初始化数组的方法有很多种,但如果您确定只使用3元素数组,请选择以下方法:

    {null, null, null}
    

    是的..它不增加i,但增加ID的值,以i为增量。是的..它不增加i,但增加ID的值,以i为增量。一直忘记java用null objects=/.Nice catch初始化数组。一直忘记java用null objects=/.Nice catch初始化数组。