0

この行により、「コンストラクター Vector(double[], double[]) は未定義です」というエラーが発生します。

Vector<trainingSet> set = new Vector<trainingSet>({1.0, 1.0}, {0.0, 0.0});

クラス「trainingSet」には実際に対応するコンストラクターがあります。

public class trainingSet {
    public double [] pattern, result;
    public trainingSet(){}
    public trainingSet(double[] Pattern, double[] Result){
        pattern = Pattern;
        result = Result;
    }
}

何か案が?

4

5 に答える 5

5

初期化していないのでtrainingSetVectorクラス自体です。Vectorデフォルトのコンストラクター、初期サイズのコンストラクターのみがあり、他のコレクションを渡すこともできます。あなたは次のようなことをする必要があります

Vector<trainingSet> vector = new Vector<trainingSet>();
double[] result = {1.0, 1.0};
double[] pattern = {0.0, 0.0};
vector.add(new trainingSet(result, pattern));

また、同期が必要ない場合を除いて、代わりにリストを使用することを検討してください。収集よりもはるかに遅い収集です。VectorVectorList

于 2013-02-07T09:04:17.327 に答える
2

JavaVectorには、コレクションタイプの単一の要素を取得するコンストラクターはありません。Arraysまた、trainingSetではなくdoubleを使用して2つを渡すことにより、ベクトルを構築しようとしています。考えられる修正は次のとおりです。

Vector<trainingSet> set = new Vector<trainingSet>();
set.add(new trainingSet(new double[]{1.0, 1.0}, new double{0.0, 0.0}));
于 2013-02-07T09:05:49.797 に答える
1

存在しないVectorクラスのコンストラクターを呼び出しています。これを試してください。

    double[] Pattern={1.0, 1.0};
    double[] Result={0.0, 0.0};

    Vector<trainingSet> set = new Vector<trainingSet>();
    set.add(new trainingSet(Pattern, Result));
于 2013-02-07T09:14:53.120 に答える
1

trainingSetという名前のクラスのcunstructorではなく、ベクターコンストラクターにパラメーターを渡します。

于 2013-02-07T09:05:51.250 に答える
0

あなたの定義のためにVector<trainingSet>

ベクターはtrainingSetタイプのみを想定し、前提条件は想定していませdouble

あなたはそれをに変更することができます

Vector<trainingSet> set = 

new Vector<trainingSet>().add(new trainingSet({1.0, 1.0},{0.0,0.0})));
于 2013-02-07T09:03:41.627 に答える