创建对象数组时出现异常

时间:2016-06-13 12:04:02

标签: java arrays nullpointerexception

我将所有数组元素的总和存储到pairSum []数组中。 为此,我创建了PairSum类,它存储了两个元素及其总和。

但是我在第pairSum[k].sum = v

上获得了空指针异常

我创建了数组

PairSum[] pairSum = new PairSum[val];

我做错了什么?

public class test {
            class PairSum{
                int first;
                int second;
                int sum;
            }
            public static void findElements(int arr[], int n){
                int val = (n*(n-1))/2;
                PairSum[] pairSum = new PairSum[val];
                int k=0;
                for(int i=0;i<n-1;i++){
                    for (int j=i+1;j<n;j++){
                        int v = arr[i] + arr[j];
                        System.out.println("sum..." + v);
                        pairSum[k].sum = v;//NullPointerException here
                        System.out.println("valll.." + pairSum[k]);
                        pairSum[k].first = arr[i];
                        pairSum[k++].second = arr[j];

                    }
                }
           }
           public static void main(String[] args) {
                int arr[] = {10, 20, 30, 40, 1, 2};
                int n = arr.length;
                findElements (arr, n);
            }  
          }

1 个答案:

答案 0 :(得分:2)

截至目前,您只创建了一个可以保存 PairSum类型对象的数组。您需要单独实例化每个PairSum对象:

pairSum[k] = new PairSum();

在访问PairSum数组中的任何pairSum之前。