为什么我的toString方法返回0?

时间:2015-03-26 19:06:45

标签: java random tostring

为什么我的toString方法返回0?我必须将随机生成的整数连接到String上,当我打印结果时,它总是为0.我该怎么办?

课堂Cozi:

public String toString(){
    String concat="";
    Clienti ob = new Clienti();
    for(int i=1;i <= Clienti.getNrClienti();i++){
        concat = " <" + ob.getRandomInt2() + ">";
        System.out.print(concat);
    }       
    return concat;
}

班Clienti:

public int serviceTime(){
    System.out.print("\n");
    Random randomServ = new Random();
    for (int idx = 1; idx <= nrClienti; ++idx){
        randomInt2 = randomServ.nextInt(maxServ);
        System.out.println("Generated : " + randomInt2);
    }
    return randomInt2;  
}

我还有方法get和set randomInt2。

我知道为什么我只得到0.因为randomInt2在Clienti类中声明为int,而不是私有静态int。现在我遇到的问题是我的concat对象只获取randomInt2的最后一个值。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

如果您有一个空字符串""作为返回值,则表示您没有进入for循环。检查是否符合任何i <= Clienti.getNrClienti()条件i

for循环中存在错误,您必须修改:

    concat=" <"+ob.getRandomInt2()+">";

通过

    concat += " <"+ob.getRandomInt2()+">";

注意:当您想要连接String时,您可以使用性能更高的StringBuilder

答案 1 :(得分:0)

String s = "a";
s = "b";
System.out.println(s); // b

如果我说得对,你想要结束:

String s = "a";
s = s + "b";
System.out.println(s); // ab