在java中找不到符号

这是在DFM.java中

这部分属于主要课程

Algebra.vect dx = new Algebra.vect(new double[] {2.0,3.0,4.0}); Algebra.matrix eij = new Algebra.matrix(); System.out.println(eij.get(1,1)); dx.set(1,4.0); System.out.println(dx.get(1)); 

这是在Algebra.java中

 class Algebra { public static class vect { double[] v = new double[3]; public vect() { v[0]=v[1]=v[2]=0; } public vect(double[] v) { this.v=v; } int tamanho() { return v.length; } double get(int i) { return v[i]; } void set(double[] v) { this.v=v; } void set(int i, double n) { v[i]=n; } void print() { for(int i=0; i < v.length; i = i + 1) System.out.print(v[i] + " "); System.out.print("\n"); } } public static class operacoes { double prodInt(vect v1, vect v2) { return v1.get(0)*v2.get(0)+v1.get(1)*v2.get(1)+v1.get(2)*v2.get(2); } double[] somaVV(vect v1, vect v2) { return new double[] {v1.get(0)+v2.get(0), v1.get(1)+v2.get(1), v1.get(2)+v2.get(2) }; } double[] prodMV(matrix m, vect v) { double[] Soma = new double[3]; Soma[0]=Soma[1]=Soma[2]=0; for(int i=0;i< v.tamanho();i=i+1) { for(int j=0;i< v.tamanho();j=j+1) { Soma[i]=m[i][j]*v[j]; } } return Soma; } } public static class matrix { double[][] m = new double[3][3]; public matrix() { for(int i=0;i< v.tamanho();i=i+1) { for(int j=0;i< v.tamanho();j=j+1) { m[i][j]=0; } } } public matrix(double[][] m ) { this.m=m; } double get(int i,int j) { return m[i][j]; } void set(double [][] m) { this.m=m; } void set(int i,int j, double n) { m[i][j]=n; } void print() { for(int i=0;i< v.tamanho();i=i+1) { for(int j=0;i< v.tamanho();j=j+1) { System.out.print(m[i][j] + " "); } System.out.print("\n"); } System.out.print("\n"); } } 

错误

 DFM.java:29: error: cannot find symbol System.out.println(eij.get(1,1)); ^ symbol: method get(int,int) location: variable eij of type matrix 1 error 

但是当我在评论中使用eij方法调用时

 dx.set(1,4.0); System.out.println(dx.get(1)); 

这个部分,其中dx是vect类,运行良好,代码类似于矩阵类

有人可以帮忙吗?

看起来像你的matrix类的get -method的签名缺少修饰符public

  double get(int i,int j) 

所以它具有“默认”(包)可见性。 将其更改为

  public double get(int i,int j) 

它应该工作。