Java空指针异常,无法为数组赋值

时间:2015-02-18 19:22:48

标签: java nullpointerexception

我正在编写一个程序,该程序将采用多个数字并按升序显示它们,然后按降序显示。当我尝试将输入分配给数组时,我得到一个空指针异常,我不知道为什么。任何帮助将不胜感激。

这是我的代码:

static int[] numbers;
public static void main(String[] args) {
    int i=0;        
    while(i<50)
    {            

        String input = JOptionPane.showInputDialog("Enter any number or type X to exit");
        System.out.println(input);
        if(input.equals("X"))
        {
            break;
        }
        numbers[i]=Integer.parseInt(input);//This is where i get the exception          
        i++;
    }

1 个答案:

答案 0 :(得分:0)

您尚未实例化numbers。你需要这样做:

numbers = new int[50];

在方法开始时。

但是,实际上最好使用允许动态调整大小的ArrayList<Integer>而不是固定大小的数组。你会这样做:

List<Integer> numbers = new ArrayList<Integer>();
...
numbers.add(Integer.parseInt(input));

如果您向数组中添加超过50个数字,这将不会导致问题,这是一个固定大小的数组。