为Java RealVector的用法分类
我需要帮助来理解如何使用抽象类org。阿帕奇。平民数学3。线性的java的RealVector。lang.我程序中的对象
我有三门课,应该用它。一个点,一个单纯形和一个三角形
Simplex类应该使用RealVector类的方法来计算对象的周长,比如三角形
import java.lang.Object.*;
package org.apache.commons.math3.linear;
import org.apache.commons.math3.linear.RealVector.Entry;
import org.junit.Assert;
public class Point
{
private int dimension;
private double[] values;
private RealVector rv;
public Point(int d, double... values) {
try {
this.dimension = d;
this.values = values;
} catch (IllegalArgumentException ex) {
System.out.println("Bad Arguments");
}
}
public double get (int i) {
return values[i];
}
public int dim() {
return dimension;
}
}
当我编译时,我得到一个错误:
You have changed the package statement to a package which does not exist in this project.
所以问题是:如何在我的程序中使用RealVector类
# 1 楼答案
让我们关注代码的第一行:
它有很多问题:
org.apache.commons.math3.linear
。把它放在你自己的包里,以你的公司/组织命名。你不是为Apache基金会写的。<李>import java.lang.Object.*;
毫无意义。对象是一个类,而不是一个包。所以不能在java中导入所有类。朗,反对。您不需要从java导入任何类。朗:它们是隐式导入的李>import org.apache.commons.math3.linear.RealVector.Entry;
:你从来没有在你的类中使用这个入口类。您使用的是RealVector类,因此应该导入该类(尽管您并没有真正使用它:您只是拥有一个该类型的私有域,它永远不会初始化,也不会读取,因此是无用的)李>import org.junit.Assert;
:代码中也没有使用这个断言类,所以不应该导入它。顺便说一句,该类用于实现单元测试。它应该在单元测试中导入,但不能在生产类中导入李>首先解决所有这些问题,然后问另一个问题,如果你仍然有一个编译错误,提到确切和完整的错误。确保math3 apache库的jar文件位于项目的类路径中:它没有与JDK绑定,因此需要将其添加到项目中