gpt4 book ai didi

java - 空指针访问

转载 作者:行者123 更新时间:2023-11-30 07:34:56 25 4
gpt4 key购买 nike

我用这个方法来乘以 2 个矩阵:

public static AbstractMatrix multiplication(AbstractMatrix m1, AbstractMatrix m2) {
AbstractMatrix result = null;
int sum=0;
if (m1.getNbc() == m2.getNbl()) {
for(int c=0;c<m1.getNbl();c++){
for(int d=0;d<m2.getNbc();d++){
for(int k=0;k<m1.getNbc();k++){
sum=somme+m1.getValeur(c, k)*m2.getValeur(k, d);
}
result.setValeur(c, d, sum);
sum=0;
}
}

}
return result;
}

我得到:

null pointer access the variable result can only be null

在此位置:result.set() 。我知道问题出在 AbstractMatrix result=null; 中,但是 AbstractMAtrix 是一个抽象类,所以我无法实例化它(new AbstractMatrix) .

我该如何解决这个问题?

最佳答案

您正确地识别了您的问题 -> 您正在尝试调用 null 上的方法,这显然无法完成。
此外,您正确地识别出 AbstractMatrix 是一个 abstract 类,因此无法实例化。

What needs to be done to remedy this?

您必须创建一个子类,例如Matrix extends AbstractMatrix,它覆盖AbstractMatrix中的任何abstract方法。然后你可以像这样实例化它:

AbstractMatrix result = new Matrix();

这将使您的代码正确运行并且不会抛出 NPE。

关于java - 空指针访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35534576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com