二维数组(矩阵)的加,减,乘,转置:
产生随机二维数组:
public static int[][] CreateData(int i,int j)
{ int a[][]=new int[i][j]; //定义数组大小空间
for( i=0;i<a.length;i++)
{
for( j=0;j<a.length;j++)
{
a[i][j]=(int)(Math.random()*10);
}
}
return a;
}
加法函数段:
public static int[][] add(int a[][] ,int b[][])
{ int s[][]=new int [3][3];
for(int i=0;i<a.length;i++)
{
for(int j=0;j<a.length;j++)
{
s[i][j]=a[i][j]+b[i][j];
}
}
return s;
}
减法函数段:
public static int[][] dev(int a[][] ,int b[][])
{ int s[][]=new int [3][3];
for(int i=0;i<a.length;i++)
{
for(int j=0;j<b.length;j++)
{
s[i][j]=a[i][j]-b[i][j];
}
}
return s;
}
两个数组相乘:
public static int[][] mul(int a[][],int b[][])
{
int s[][]=new int [3][3];
for(int i=0;i<a.length;i++)
{
for(int j=0;j<b.length;j++)
{
s[i][j]=a[i][0]*b[0][j]+a[i][1]*b[1][j]+a[i][2]*b[2][j];
}
}
return s;
}
数组的转置:
将数组的行变为列,列变为行
public static int[][] tran(int a[][])
{
int s[][]=new int [3][3];
for(int i=0;i<a.length;i++)
{
for(int j=0;j<a.length;j++)
{
s[j][i]=a[i][j];
}
}
return s;
}
数组的打印:
public static int[][] Print(int[][] a)
{
for(int i=0;i<a.length;i++)
{
for(int j=0;j<a.length;j++)
{
System.out.print(a[i][j]+"\t");
}System.out.println();
}
return a;
}
主函数:
import java.util.Arrays;
public class data {
public static void main(String[] args)
{
int a[][]=CreateData(3,3);
int b[][]=CreateData(3,3);
int c[][]=add(a,b);
int d[][]=dev(a,b);
int e[][]=mul(a,b);
int f[][]=tran(a);
System.out.println("原始数组a为"+"\n");
Print(a);
System.out.println("原始数组b为"+"\n");
Print(b);
System.out.println("数组a加b为"+"\n");
Print(c);
System.out.println("数组a减b为"+"\n");
Print(d);
System.out.println("数组a乘b为"+"\n");
Print(e);
System.out.println("原始数组a转置为"+"\n");
Print(f);
/* System.out.println(Arrays.deepToString(a));
System.out.println(Arrays.deepToString(b));
System.out.println(Arrays.deepToString(c));
System.out.println(Arrays.deepToString(d));
System.out.println(Arrays.deepToString(e));
System.out.println(Arrays.deepToString(f)); */
}
}