程序如下:
   public class Matrix {
    private int row=3,column=3;
    private int data[][];
    public Matrix(int m,int n){
        data=new int[m][n];
    }
    public Matrix(int data[][]){
        this.data=data;
    }
    public void setData(int data[][]){
        this.data=data;
    }
    public int [][] getData(){
        return data;
    }
    public void setData(int row,int column,int element){
        data[row][column]=element;
    }
    public int getData(int row,int column){
        return data[row][column];
    }
    public Matrix transpose(){
        Matrix tem=new Matrix(3,3);
        //int j=0;
        for(int i=0;i<row;i++)
            for(int j=0;i<column;j++){
                 tem.data[j][i]=data[i][j];      
            }
        return tem;
        
    }
    
    public static Matrix transpose(Matrix matrix){
        Matrix tem=new Matrix(3,3);
        for(int i=0;i<matrix.row;i++)
            for(int j=0;i<matrix.column;j++){
                 tem.data[j][i]=matrix.data[i][j];      
            }
        return tem;
    }
    public Matrix add(Matrix other){
        for(int i=0;i<row;i++)
            for(int j=0;i<column;j++)
                data[i][j]+=other.data[i][j];
        return this;
    }
    public static Matrix add(Matrix first,Matrix second){
        for(int i=0;i<first.row;i++)
            for(int j=0;i<first.column;j++)
                first.data[i][j]+=second.data[i][j];
        return first;
    }
    public String toString(){
        String str="";
        for(int i=0;i<row;i++){
            for(int j=0;i<column;j++){
                str=str+data[i][j]+" ";//编译时显示这个地方有问题
            }
            str=str+'\n';
        }
        return str;
    }
    public  static void main(String[]args){
        int[][]  simple={{1,2,3},{4,5,6},{7,8,9}};
        Matrix Ma=new Matrix(simple);
        System.out.println(Ma.toString());//这里也有问题
    }}怎么解决啊?

解决方案 »

  1.   

    在我这里没有任何编译错误,你的jdk什么版本?
      

  2.   


    jdk1.5.0_09  我是在netbean环境下编译的  
      

  3.   

    init:
    deps-jar:
    Warning: Matrix.java modified in the future.
    Compiling 1 source file to G:\java\Matrix\build\classes
    compile-single:
    run-single:
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
            at Matrix.toString(Matrix.java:57)
            at Matrix.main(Matrix.java:66)
    Java Result: 1
    成功生成(总时间:0 秒)
      

  4.   

    我用JDK 1.6.0.13最新版,也是出现这样的情况,呵呵、、、还没看具体那的错误
      

  5.   


    for(int j = 0; < column; j++)
      

  6.   

    另外我在该类中添加了一个矩阵相乘的方法 但经测试发现好像不对,望大侠们给我再分析分析这个方法:public Matrix multiply(Matrix other){
            int temple,k;
            for(int i=0;i<row;i++){
                k=0;
                temple=0;
                while(k<row){
                for(int j=0;j<column;j++){
                    temple+=this.data[i][j]*other.data[j][k];
                }
                this.data[i][k]=temple;
                temple=0;
                k++;
                }
            }
                return this;
            
        }