这个问题在这里已经有答案了:
什么是nullpointerexception,如何修复它(12个答案)
六天前关门了。
我想在第一行用索引填充一个表,在第二行用统一法则生成的元素填充一个表。为了遵循我的工作步骤,我创建了一个不可执行文件:
import java.util.Random;
public class CSignal {
private int N, V;
private double[][] tabSig;
public double k;
public CSignal() {
V = 4;
N = 10;
Remplit();
}
public void Remplit() {
for (int i = 0; i < N; i++) {
tabSig[0][i] = i;
Random e = new Random();
k = e.nextDouble();
tabSig = new double[2][2];
this.tabSig[1][i] = k * V;
}
}
public int get_N() {
return N;
}
public int get_V() {
return V;
}
public double[][] get_tab() {
return tabSig;
}
public void Affiche() {
System.out.println(tabSig);
}
}
然后是可执行文件:
public class TP {
public static void main(String[] args) {
// TODO Auto-generated method stub
CSignal signal;
signal = new CSignal();
signal.Affiche();
}
}
当我尝试此程序时,出现以下错误:
Exception in thread "main" java.lang.NullPointerException: Cannot load from object array because "this.tabSig" is null
1条答案
按热度按时间368yc8dk1#
一般来说,npe意味着您正在对指向null(nothing)的引用执行操作。
在您的示例中,有一个名为
tabSig
. 在构造函数中,您试图填充它(调用方法Remplit
),但尚未初始化。因此,npe将被抛出行:所以为了避免它,您需要在调用这个方法之前初始化它。您必须在构造函数中执行此操作,因为您正在设置
N
值(第二维度的长度):如果要打印阵列: