This question already has answers here:
What is a NullPointerException, and how do I fix it?
(12个答案)
3年前关闭。
我将数组元素的所有对的总和存储到pairSum []数组中。
为此,我创建了
但是我在行
我已经创建了数组
我究竟做错了什么?
在访问
(12个答案)
3年前关闭。
我将数组元素的所有对的总和存储到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);
}
}
最佳答案
到目前为止,您仅创建了一个可以容纳类型为PairSum
的对象的数组。您需要分别实例化每个PairSum
对象:
pairSum[k] = new PairSum();
在访问
PairSum
数组中的任何pairSum
之前。10-05 22:22