Java构造函数不起作用

时间:2013-10-08 07:03:33

标签: java string vector constructor

我构建了自己的类来处理向量,遗憾的是构造函数无法正常工作。

这是我的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)未定义。

5 个答案:

答案 0 :(得分:4)

构造函数声明为:

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

你试着用它来调用它:

vectorHandler (StringBuffer, String, int)

您需要以正确的顺序使用正确的参数调用它。

答案 1 :(得分:2)

您传递的参数如

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

在此我认为

sStringBuffer

textxString

iint

将其解析为

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

答案 2 :(得分:1)

iint,而您的构造函数在第3位置取String。此外,您的构造函数在第一个位置期待int并且您传递的是StringBuffer

答案 3 :(得分:1)

根据构造函数,它接受intStringstring的参数但您传递stringstringint < / p>

答案 4 :(得分:1)

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

为了澄清,iint变量,而构造函数需要String变量。