-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 回答
2

你被传递的参数像

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

在这我认为

sStringBuffer

textxString

iint

所以将其解析为

vectorHandler p = new vectorHandler(i, "TestX", s);
                                    ^     ^     ^
                                   int String  String
于 2013-10-08T07:06:49.003 回答
1

i是 a int,而您的构造函数将 a 排String在第三位。此外,您的构造函数期望 aint在第一个位置,而您正在传递 a StringBuffer

于 2013-10-08T07:06:14.453 回答
1

根据构造函数,它接受 , 的争论,int但您正在传递, ,Stringstringstringstringint

于 2013-10-08T07:06:35.727 回答
1

这不是您的程序“无法正常工作”的情况,而是它没有正确构建的情况;您正在尝试使用导致错误的错误类型的参数调用构造函数。

澄清一下,i是一个int变量,而您的构造函数需要一个String变量。

于 2013-10-08T07:21:10.607 回答