-5
import java.util.Scanner;
class TestMatrix
{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.println("Enter the number of matrices: ");
int num=in.nextInt();
int[][] temp=new int[10][10];
Matrix[] matrixarray=new Matrix[num];
Matrix.numberOfMatrices(num);
for(int i=0;i<num;i++)
{
System.out.println("Enter the rows and columns of M["+(i+1)+"]: ");
int r=in.nextInt();
int c=in.nextInt();
System.out.println("Enter the values: ");
for(int x=0;x<r;x++)
for(int y=0;y<c;y++)
{
temp[x][y]=in.nextInt();
}
matrixarray[i].inputMatrixValues(temp);
}
}
}
public class Matrix
{
static int number;
int[][] matrix=new int[10][10];
int row,col;
public static void numberOfMatrices(int n)
{number=n;}
public void inputMatrixValues(int[][] matrix)
{
for(int i=0;i<row;i++)
for(int j=0;j<col;j++)
{
this.matrix[i][j]=matrix[i][j];
}
}
}
上記のコードは、22行目のinputMatrixValues()メソッドを呼び出すときにnullポインタ例外を返します。matrixarray [i] .inputMatrixValues(temp);NullPointerExceptionオブジェクトの配列
matrixarrayは、Matrixクラスのオブジェクト配列です。オブジェクト配列のi番目の要素にアクセスする際に例外が発生します。 Matrixオブジェクト配列が9行目に作成されます。コードのどの部分がエラーを引き起こすかを確認します。
'行列は[] matrixarray =新しい行列[NUM]引き起こし;これは、これが原因であるヌル が充填された長さNUMの配列を作成 ' をnull参照のみを含む配列の1つのインデックスにアクセスしているためです。 –
@Xoce笑Пepeúpaあなたが正しいです、代わりにコメントとして投稿してください。 –