Java 在toString类中使用for循环返回多个数组

Java 在toString类中使用for循环返回多个数组,java,arrays,loops,for-loop,tostring,Java,Arrays,Loops,For Loop,Tostring,这就是我目前所拥有的。这个程序主要做的是获取用户输入(他们的社会保险号码),验证他们的输入是否采用正确的格式(XXX-XX-XXXX),将验证后的输入添加到数组列表中。现在,最后一步是创建一个toString()方法,该方法将返回添加到数组中的所有社会保险号的可读字符串表示形式。此方法必须使用for循环,并且每行必须打印1个社会保险号条目。例如: “您输入的社会保险号码是: 345-43-5674 456-62-8435 910-70-0053“ StringBuilder strbul=新的S

这就是我目前所拥有的。这个程序主要做的是获取用户输入(他们的社会保险号码),验证他们的输入是否采用正确的格式(XXX-XX-XXXX),将验证后的输入添加到数组列表中。现在,最后一步是创建一个toString()方法,该方法将返回添加到数组中的所有社会保险号的可读字符串表示形式。此方法必须使用for循环,并且每行必须打印1个社会保险号条目。例如:

“您输入的社会保险号码是:
345-43-5674
456-62-8435
910-70-0053“

StringBuilder strbul=新的StringBuilder()

对于(int i=0;i您可以声明一个
字符串
,以连接所有SSN编号

@Override
public String toString(){
    String str = "The Social Security Numbers you entered are:\n";
    for(int x=0; x< arrayCount; x++)
        str += SSNumber[x] + "\n";
    return str;
}
@覆盖
公共字符串toString(){
String str=“您输入的社会保险号码是:\n”;
对于(int x=0;x
由于它是一个
toString()
方法,因此您将希望返回类的字符串表示形式,而不是执行
println()

仅连接:

@Override
public String toString(){
String s = "The Social Security Numbers you entered are:\n";
    for(int i =0; i < SSNNumber.length; i ++)
        s +=SSNNumber[i]+"\n";
    return s;
}
@覆盖
公共字符串toString(){
String s=“您输入的社会保险号码是:\n”;
for(int i=0;i
您的
toString
方法没有正确的签名,它应该返回
String
。这应该满足您的需要:

@Override
public String toString(){
    StringBuilder sb = new StringBuilder("The Social Security Numbers you entered are:\n");

    for (int i = 0; i < arrayCount; i++) {
        sb.append(SSNNumber[i]).append("\n");
    }

    return sb.toString();
}
@覆盖
公共字符串toString(){
StringBuilder sb=new StringBuilder(“您输入的社会保险号码为:\n”);
for(int i=0;i

另外,请记住使用
@Override
注释。

将for循环放在测试类中尝试使用StringBuilder您是否尝试了任何操作,或者这只是一个为您编写代码的请求?您不应在
toString
方法中打印输出。该方法应用于创建和返回字符串的字符串表示形式n对象,不是打印它。可能是@fabian的副本我想问题只是误用了“打印”这个词,但OP的澄清可能是好的。千万不要在循环中使用
String+=String
。使用
StringBuilder
@Andreas这看起来像是学校的作业,根据我在大学和学院的知识,他们不希望你使用StringBuilder。String对他们来说已经足够了。@Andreas谢谢你,伙计,改变了。你可能有道理在“学校作业”上,它的形式非常糟糕,而且触动了我的神经。-)我投了你一票。在
之后添加
\n
,更常见的是使用
i
作为索引变量。切勿在循环中使用
String+=String
。使用
StringBuilder
。另外,似乎数组中的每个元素都不需要包含字符串。循环应限制为
arrayCount
。循环应限制为
arrayCount
@Andreas您是对的,感谢提醒-第一次阅读时没有注意到这一点。答案已更正。
@Override
public String toString(){
String s = "The Social Security Numbers you entered are:\n";
    for(int i =0; i < SSNNumber.length; i ++)
        s +=SSNNumber[i]+"\n";
    return s;
}
@Override
public String toString(){
    StringBuilder sb = new StringBuilder("The Social Security Numbers you entered are:\n");

    for (int i = 0; i < arrayCount; i++) {
        sb.append(SSNNumber[i]).append("\n");
    }

    return sb.toString();
}