2017-05-13 5 views
0

내 프로그램에서 java.lang.Object의 추상 클래스 org.apache.commons.math3.linear.RealVector를 사용하는 방법을 이해하는 데 도움이 필요합니다.사용법 Java RealVector

나는 그것을 사용해야하는 3 개의 classe가 있습니다. Point, Simplex 및 Triangle.

Simplex-Class는 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

동일한 문제가 발생했습니다. 이미이 질문에 답했습니다. http://stackoverflow.com/a/43954513/5558072 –

+1

org.apache.commons는 타사 패키지이므로 해당 클래스를 가져오고 있으므로 패키지 문을 포함 할 필요가 없습니다. 'org.apache.commons.math3.linear; 패키지를 제거하십시오. – SomeDude

+0

또한 패키지 이름이 올바른지 확인하십시오. –

답변

0

하자 초점 :

  1. 패키지 선언
  2. 당신은 넣으면 안됩니다 수입 전에 를 제공해야합니다

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

    그것은 많은 문제가있다 자신의 클래스를 org.apache.commons.math3.linear 패키지에 넣으십시오. 회사/조직의 이름을 따서 명명 된 자체 패키지 안에 넣으십시오. 당신은 아파치 재단을 위해 글을 쓰고 있지 않습니다.

  3. import java.lang.Object.*;은 의미가 없습니다. 객체는 클래스가 아니라 패키지입니다. 따라서 java.lang.Object 내의 모든 클래스를 임포트 할 수는 없습니다. 그리고 java.lang에서 클래스를 임포트 할 필요가 없습니다. 암묵적으로 임포트됩니다.
  4. import org.apache.commons.math3.linear.RealVector.Entry; : 클래스에서이 항목 클래스를 사용하지 않으 셨습니다. RealVector 클래스를 사용하고 있기 때문에 가져올 클래스입니다 (실제로는 사용하지는 않지만 사용자는 해당 유형의 비공개 키를 가지고 있습니다.이 클래스는 읽기 전용으로 초기화되지 않으므로 쓸모가 없습니다).
  5. import org.junit.Assert; : 코드에서이 Assert 클래스를 사용하지 않으므로 가져올 수 없습니다. 그 클래스 인 BTW는 단위 테스트를 구현하는 데 사용됩니다. 단위 테스트에서는 가져와야하지만 프로덕션 클래스에서는 가져 오지 않아야합니다.

먼저이 문제를 모두 고친 다음, 컴파일 오류가 계속 발생했는지 정확하게 질문하십시오. 정확하고 완전한 오류를 언급하십시오. math3 apache 라이브러리의 jar 파일이 프로젝트의 클래스 경로에 있는지 확인하십시오. JDK와 함께 제공되지 않으므로 프로젝트에 추가해야합니다.