-4

Javaで配列の配列を使用して基本的にいくつかの基本的なことを行う3つのメソッドを持つクラスがありますが、メインでこれらのメソッドを呼び出そうとするとエラーが発生します..誰が問題が何であるか教えてくれますか...私はそれを確信していますいくつかの愚かな基本的な間違い:(

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)
4

1 に答える 1

4

スレッド「main」の例外java.lang.Error:未解決のコンパイルの問題:mはtestMatrix.main(testMatrix.java:5)の変数に解決できません

エラーを見ると、かなり明白です。インスタンス変数にアクセスするには、Matrixクラスのインスタンスが必要です。

 Matrix.negate(new Matrix().m);
于 2013-03-02T00:51:02.007 に答える