本人初学JAVA 今天遇到一个题 不知道如何解决请大家帮忙。
题目是 完成矩阵的乘法
同学做的都是一个方法解决 或者 定义的静态数组 都初始化好的数据。
我的想法是把矩阵做成一个类
用方法实现乘法代码如下import java.util.Scanner; 
class Matrix {
int row;
int col; 
  Scanner scanner;
  int matrix[][]=new int[row][col];//定义矩阵
  
Matrix(int x,int y ){
scanner=new Scanner(System.in);
row=x;
col=y;
}

void input(){ //用来输入值
for(int i=0;i<row;i++)
for(int j=0;j<col;j++)
matrix[i][j]=scanner.nextInt();
}

public static int[][] multiply(Matrix a,Matrix b){
if(a.matrix[0].length!=b.matrix.length){
System.out.println("输入的矩阵无法相乘");
System.exit(-1);
}
int multiplyMatrix[][]=new int[a.matrix.length][b.matrix[0].length]; 
for(int i=0;i<a.matrix.length;i++)
for(int j=0;j<b.matrix[0].length;j++)
for(int k=0;k<a.matrix[0].length;k++){
multiplyMatrix[i][j]=multiplyMatrix[i][j]+a.matrix[i][k]*b.matrix[k][j];
}
return multiplyMatrix;
}

public static void display(int[][] multiplyMatrix){
for(int i=0;i<multiplyMatrix.length;i++)
{
for(int j=0;j<multiplyMatrix[0].length;j++)
{
System.out.print(multiplyMatrix[i][j]+" ");
}
System.out.println("");
}
}
public static void main (String[] args){
int x;
int y;
Scanner sc = new Scanner(System.in); 
System.out.println("输入数组1的行:");
x=sc.nextInt(); 
System.out.println("输入数组1的列:");
y=sc.nextInt();
Matrix fir=new Matrix(x,y);
System.out.println("输入数组2的行:");
x=sc.nextInt(); 
System.out.println("输入数组2的列:");
y=sc.nextInt();
Matrix sec=new Matrix(x,y);
fir.input();
sec.input();
display(multiply(fir,sec));
sc.close();
}
}我知道上面是错的 在类变量matrix[][]的初始化时已经是赋为空。如何才能改变他的维数,使后面的引用都正确