我不断收到空指针异常。然而,原因让我无法理解。有人可以帮忙吗?
编辑:我使用 Integer[][] 数组将空值表示为“无穷大”符号,因为弗洛伊德算法在纸上表示
private static Integer[][] floyd( Integer[][] a ) {
int n = a.length;
for( int k = 0; k < n; k++ ) {
System.out.println( "D(" + (k+1) + ") =" );
for( int i = 0; i < n; i++ ) {
for( int j = 0; j < n; j++ ) {
// The below line throws a null pointer exception and I don't know why
a[i][j] = Math.min( a[i][j], a[i][k] + a[k][j] );
}
}
print2DArray( a );
}
return a;
}