在java中找不到符号
这在DFM.java中在java中找不到符号,java,find,symbols,Java,Find,Symbols,这在DFM.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;
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");
}
}
这部分在主课堂上
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));
这在代数.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");
}
}
但当我在评论中调用eij方法时
dx.set(1,4.0);
System.out.println(dx.get(1));
这部分dx属于vect类,
工作正常,代码与matrix类类似
有人能帮忙吗?看起来像是您的
矩阵的签名
-类的get
-方法缺少修饰符public
:
double get(int i,int j)
因此它具有“默认”(包)可见性。换成
public double get(int i,int j)
它应该能用。我看起来很好。可能
Algebra.java
的对象文件已过期(请尝试重新编译)。我想知道您的Algebra
类是否编译成功!!发现错误,我太愚蠢了,我正在保存文件,我正在另一个文件中编辑,因为我要做一个包,然后在更改它并取出包后,我编译了错误的文件:)抱歉,谢谢找到错误,我太愚蠢了,我正在另一个文件中保存我正在编辑的文件,因为我要做一个包,然后在更改它并取出包之后,我编译了错误的文件:)对不起,谢谢