import java.io.*;
import java.util.Random;
class MatrixOutput
{
public int[][] num;
public int i,j;
public void output(int n,int m)
{
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
System.out.print(num[i][j]+" ");
}
System.out.println();
}
}
}
class Matrix1 extends MatrixOutput
{
Matrix1(int n,int m)
{
try
{
num=new int[n][m];
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
num[i][j]=Integer.parseInt(br.readLine()); //按行输入矩阵的值
br.close();
}
catch(IOException e)
{
System.out.println(e);
}
}
}
class Matrix2 extends MatrixOutput
{
public Matrix2(int n,int m)
{
num=new int[n][m];
Random r=new Random();
for(i=0;i<n;i++)
for(j=0;j<m;j++)
num[i][j]=r.nextInt(100); //随机产生100以内的数
}
}
class Matrix3 extends MatrixOutput
{
public int[][] num1;
public int[][] num2;
public int[][] num3;
public int i,j,k,l;
public void mul(int[][] num1,int[][]num2)
{
num1=new int[i][j];
num2=new int[k][l];
num3=new int[i][l];
if(i==k)
{
for(i=0;i<num1.length;i++)
{
for(j=0;j<num1[i].length;j++)
{
int result=0;
for(l=0;l<num2[j].length;l++)
{
result+=num1[i][j]*num2[k][l];
}
num3[i][l]=result;
}
}
}
}
}
public class Matrix
{
public static void main(String[] args)
{
System.out.println("按从左到右从上到下输入矩阵:");
Matrix1 m1=new Matrix1(3,2);
System.out.println("则第一个矩阵的值为:");
m1.output(3,2);
Matrix2 m2=new Matrix2(2,4);
System.out.println("第二个矩阵的值为:");
m2.output(2,4);
}
}
各位大侠们 帮我看看 我应该怎么设类Matrix3使得2个矩阵可以相乘,我不知道怎么把那个数组的值传进去 可以帮我看看吗
import java.util.Random;
class MatrixOutput
{
public int[][] num;
public int i,j;
public void output(int n,int m)
{
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
System.out.print(num[i][j]+" ");
}
System.out.println();
}
}
}
class Matrix1 extends MatrixOutput
{
Matrix1(int n,int m)
{
try
{
num=new int[n][m];
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
num[i][j]=Integer.parseInt(br.readLine()); //按行输入矩阵的值
br.close();
}
catch(IOException e)
{
System.out.println(e);
}
}
}
class Matrix2 extends MatrixOutput
{
public Matrix2(int n,int m)
{
num=new int[n][m];
Random r=new Random();
for(i=0;i<n;i++)
for(j=0;j<m;j++)
num[i][j]=r.nextInt(100); //随机产生100以内的数
}
}
class Matrix3 extends MatrixOutput
{
public int[][] num1;
public int[][] num2;
public int[][] num3;
public int i,j,k,l;
public void mul(int[][] num1,int[][]num2)
{
num1=new int[i][j];
num2=new int[k][l];
num3=new int[i][l];
if(i==k)
{
for(i=0;i<num1.length;i++)
{
for(j=0;j<num1[i].length;j++)
{
int result=0;
for(l=0;l<num2[j].length;l++)
{
result+=num1[i][j]*num2[k][l];
}
num3[i][l]=result;
}
}
}
}
}
public class Matrix
{
public static void main(String[] args)
{
System.out.println("按从左到右从上到下输入矩阵:");
Matrix1 m1=new Matrix1(3,2);
System.out.println("则第一个矩阵的值为:");
m1.output(3,2);
Matrix2 m2=new Matrix2(2,4);
System.out.println("第二个矩阵的值为:");
m2.output(2,4);
}
}
各位大侠们 帮我看看 我应该怎么设类Matrix3使得2个矩阵可以相乘,我不知道怎么把那个数组的值传进去 可以帮我看看吗
public class Matrix {
public static void main(String[] args) {
System.out.println("按从左到右从上到下输入矩阵:");
Matrix1 m1 = new Matrix1(3, 2);
System.out.println("则第一个矩阵的值为:");
m1.output(3, 2);
Matrix2 m2 = new Matrix2(2, 4);
System.out.println("第二个矩阵的值为:");
m2.output(2, 4);
Matrix3 m3=new Matrix3(); //实例化Matrix3
m3.mul(m1.num,m2.num); //调用mul,并传值
}
}