在Java中调用方法时出错

时间:2013-03-02 00:47:39

标签: java arrays multidimensional-array

我有一个有3个方法的类,基本上用Java中的数组数组来做一些基本的东西,虽然当我试图在我的主要调用这些方法时我得到一个错误..有人能告诉我这是什么问题......我确定它有一些愚蠢的基本错误:(

class Matrix {
    double[][] m = { {2,4,31,31}, 
                  {3,3,21,41},
                  {1,2,10,20},
                  {3,2,20,30} };

    public static void negate(double[][] m){
        int r = m.length;
        int c = m[r].length;
        double[][] n = new double[c][r];
        for(int i = 0; i < n.length; ++i) {
            for(int j = 0; j < n[i].length; ++j) {
                n[i][j] = (m[i][j])*-1;
            }
        }

    }

    public static void transposeMatrix(double[][] m){
        int r = m.length;
        int c = m[r].length;
        double[][] t = new double[c][r];
        for(int i = 0; i < r; ++i){
            for(int j = 0; j < c; ++j){
                t[j][i] = m[i][j];
            }
        }

    }

    public void print(double[][] n, double[][] t){
        int r = m.length;
        int c = m[r].length;

        for(int i = 0; i < r; ++i){
            for(int j = 0; j < c; ++j){
            System.out.print(" " + n[i][j]);
            }
            System.out.println("");
            }

        for(int i = 0; i < r; ++i){
            for(int j = 0; j < c; ++j){
            System.out.print(" " + t[i][j]);
            }
            System.out.println("");
            }
    }
}

现在这是我的主要......

public class testMatrix {
    public static void main(String[] args){

        Matrix.negate(m);
    }

}

提前感谢任何意见!

这是错误...

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    m cannot be resolved to a variable

    at testMatrix.main(testMatrix.java:5)

1 个答案:

答案 0 :(得分:4)

  

线程“main”中的异常java.lang.Error:未解析的编译   问题:       m无法解析为变量       在testMatrix.main(testMatrix.java:5)

通过查看您的错误非常明显,您需要Matrix类的实例来访问其实例变量

 Matrix.negate(new Matrix().m);