-4

ベクターを処理する独自のクラスを作成しましたが、残念ながらコンストラクターが正しく機能していません。

これは私の vectorHandler.java です:

public class vectorHandler {
    String text, completeText;
    int id;

    public vectorHandler(int id, String text, String completeText) {
        this.id = id;
        this.text = text;
        this.completeText = completeText;
    }

    public void getData() {
        System.out.printf("** Datenausgabe ID %d **\n\nIn diesem Durchlauf eingegebener Wert: %s\nWert zu disem Zeitpunkt gesamt: %s\n\n", id, text, completeText);
    }   
}

このクラスでループからのデータを処理し、オブジェクトとしてベクターに入れたいと思います。

私の Strings.java ファイルでは、このクラスを次のように使用したいと考えています。

vectorHandler p = new vectorHandler(s, "TestX", i);

エラー: コンストラクター vectorHandler (StringBuffer, String, int) が定義されていません。

4

5 に答える 5

4

次のように宣言されたコンストラクター:

public vectorHandler(int id, String text, String completeText) 

そして、あなたはそれを呼び出そうとします:

vectorHandler (StringBuffer, String, int)

適切な順序で適切な引数を指定して呼び出す必要があります。

于 2013-10-08T07:06:23.873 に答える
1

これは、プログラムが「正しく動作しない」というケースではなく、正しく構築されていないというケースです。エラーの原因となっている引数の型が正しくないコンストラクターを呼び出そうとしています。

明確にするために、iint変数ですが、コンストラクターにはString変数が必要です。

于 2013-10-08T07:21:10.607 に答える
1

iは ですが、intコンストラクターはString3 番目の位置で a を取ります。また、コンストラクターはint最初の位置に を期待しており、 を渡していStringBufferます。

于 2013-10-08T07:06:14.453 に答える