2017-05-13 4 views
0

私のプログラムで抽象クラスorg.apache.commons.math3.linear.RealVectorをjava.lang.Objectの使用する方法を理解する助けが必要です。用法Java RealVector

私はそれを使用する必要があります3つのクラスを持っています。点、シンプレックス、三角形。

Simplex-Classは、RealVectorクラスのメソッドを使用して、オブジェクトの周囲を計算する必要があります(例:triangle)。

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はサードパーティのパッケージであり、そのクラスをインポートしているので、パッケージ文を含める必要はありません。 'package org.apache.commons.math3.linear;' – SomeDude

+0

も削除してください。パッケージの名前が正しいことを確認してください。 –

答えて

0

レッツ・フォーカス:

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.lang.Object内のすべてのクラスをインポートすることはできません。また、java.langからクラスをインポートする必要はありません。暗黙的にインポートされます。
  4. import org.apache.commons.math3.linear.RealVector.Entry;:あなたはクラスでこのEntryクラスを使用することはありません。あなたはRealVectorクラスを使用していますので、それはあなたがインポートすべきクラスです(実際には使用していませんが、あなたはそのタイプのプライベートフィールドしか持っていません。
  5. import org.junit.Assert;:コード内にこのAssertクラスを使用していないため、インポートしないでください。そのクラス、BTWは、単体テストの実装に使用されます。ユニットテストではインポートする必要がありますが、実動クラスではインポートする必要はありません。

まず、このすべてを修正してから、もう一度、コンパイルエラーが発生しているかどうかを尋ねます。正確で完全なエラーです。 math3 apacheライブラリのjarファイルがプロジェクトのクラスパスにあることを確認します.JDKにバンドルされていないため、プロジェクトに追加する必要があります。

関連する問題