- 注册时间
- 2004-8-29
- 最后登录
- 1970-1-1
|
发表于 2006-12-10 15:51:01
|
显示全部楼层
这个程序不抛出ArrayIndexOutOfBoundsException才怪呢。
public class Matrix
{
public static void main(String arg[])
{
int a[][]={{2,2,3},{4,5,6},{7,8,9}};
int b[][]={{7,8,9},{4,5,6},{1,2,3}};
int H=a[0].length,K=b.length;
int c[][]=new int [H][K];
multi(a,b,c);
for(int m=0;m<a.length;m++)
{
for(int n=0;n<b[0].length;n++)
System.out.print(c[m][n]+" ");
System.out.println();
}
}
public static int multi(int x[][],int y[][],int z[][])
{
int i=0,k=0,j=0;
for(i=0;i<x.length;i++)
for(j=0;j<y[0].length;j++)
for(k=0;k<y.length;k++)
z[ i][j]+=x[ i][k]*y[k][j];
//在这里,i=x.length,j=y[0].length,k=y.length
return z[ i][j]+=x[ i][k]*y[k][j]; //越界就发生在这里!!
}
} |
|