【发布时间】:2015-12-23 14:02:02
【问题描述】:
这是我目前所拥有的。这个程序基本上做的是接受用户输入(他们的社会安全号码),验证他们的输入格式是否正确(XXX-XX-XXXX),将经过验证的输入添加到数组列表中。现在最后一步是创建一个 toString() 方法,该方法将返回一个人类可读的字符串表示添加到数组中的所有社会安全号码。此方法必须使用 for 循环,并且必须每行打印 1 个社会安全号码条目。例如:
“您输入的社会安全号码是:
345-43-5674
456-62-8435
910-70-0053"
package SSNServerStorage;
public class SSNArray
{
private String[] SSNNumber;
private int arrayCount;
public SSNArray(){
SSNNumber = new String[300];
arrayCount = 0;
}
public SSNArray(int arraySize){
SSNNumber = new String[arraySize];
arrayCount = 0;
}
public String[] getSSNNumber(){
return SSNNumber;
}
public int getArrayCount(){
return arrayCount;
}
public boolean validateSSNNumber(String SSNFormat){
return SSNFormat.matches("\\d{3}-\\d{2}-\\d{4}");
}
public String addSSN(String SSNFormat){
if (validateSSNNumber(SSNFormat)){
return SSNNumber[arrayCount++] = SSNFormat;
}else{
return null;
}
}
public String toString(){
System.out.println("The Social Security Numbers you entered are:");
for()
{
//
//
//
//
}
}
}
【问题讨论】:
-
将你的 for 循环放在测试类中
-
尝试使用StringBuilder
-
你有没有尝试过,或者这只是一个为你写代码的请求?您不应该在
toString方法中打印输出。该方法应该用于创建和返回对象的字符串表示,而不是打印它。 -
@fabian 我认为这个问题只是误用了“打印”这个词,但是 OP 的澄清可能会很好。
标签: java arrays loops for-loop tostring