有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

为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) 个答案

  1. # 1 楼答案

    让我们关注代码的第一行:

    import java.lang.Object.*;
    
    package org.apache.commons.math3.linear;
    import org.apache.commons.math3.linear.RealVector.Entry;
    import org.junit.Assert;
    

    它有很多问题:

    1. 包装声明必须在进口前提交
    2. 你不应该把自己的类放入包org.apache.commons.math3.linear。把它放在你自己的包里,以你的公司/组织命名。你不是为Apache基金会写的。<李>
    3. import java.lang.Object.*;毫无意义。对象是一个类,而不是一个包。所以不能在java中导入所有类。朗,反对。您不需要从java导入任何类。朗:它们是隐式导入的
    4. import org.apache.commons.math3.linear.RealVector.Entry;:你从来没有在你的类中使用这个入口类。您使用的是RealVector类,因此应该导入该类(尽管您并没有真正使用它:您只是拥有一个该类型的私有域,它永远不会初始化,也不会读取,因此是无用的)
    5. import org.junit.Assert;:代码中也没有使用这个断言类,所以不应该导入它。顺便说一句,该类用于实现单元测试。它应该在单元测试中导入,但不能在生产类中导入

    首先解决所有这些问题,然后问另一个问题,如果你仍然有一个编译错误,提到确切和完整的错误。确保math3 apache库的jar文件位于项目的类路径中:它没有与JDK绑定,因此需要将其添加到项目中