从用户输入要存储在数组中的元素时,如何解决空指针异常?

时间:2019-06-22 08:12:46

标签: java arrays nullpointerexception

在下面的程序中,我试图从用户那里获取数组中的值。 但是,仅输入两个值后,我得到了NullPointerException。 有人可以解释为什么我收到此异常吗?

import java.util.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class MemoriseMe{

    static int arr1[],count;

    public static void main(String[] args) throws IOException 
    {
        BufferedReader brObj = new BufferedReader(new InputStreamReader(System.in));

        int firstQuery =Integer.parseInt(brObj.readLine());
        System.out.println("Enter the elements : ");  
        String line = brObj.readLine(); // to read multiple integers line
        String[] strs = line.trim().split("\\s+");

        for(int i =0;i<firstQuery;i++)
        {
            arr1[i]=Integer.parseInt(brObj.readLine());
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您的arr1从未被初始化,并且是null -当您尝试使用索引访问它时,将得到一个NullPointerException。似乎您希望它的长度为firstQuery,所以:

arr1 = new int[firstQuery];