Return 在 toString 内部使用 for 循环的多个数组 Class
Return Multiple Arrays Using for Loop Inside toString Class
这就是我目前所拥有的。这个程序基本上做的是获取用户输入(他们的社会安全号码),验证他们的输入格式是否正确(XXX-XX-XXXX),将经过验证的输入添加到数组列表中。现在最后一步是创建一个 toString() 方法,该方法将 return 添加到数组中的所有社会安全号码的人类可读字符串表示形式。此方法必须使用 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()
{
//
//
//
//
}
}
}
StringBuilder strbul = new StringBuilder()
for(int i=0;i<SSNNumber.length;i++)
{
strbul.append(SSNNumber[i]).append("\n");
}
return strbul.toString();
您可以声明一个 String
来连接所有的 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()
方法,所以您需要 return class 的字符串表示而不是 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
方法没有正确的签名,它应该 return 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();
}
还要记得使用 @Override
注释。
这就是我目前所拥有的。这个程序基本上做的是获取用户输入(他们的社会安全号码),验证他们的输入格式是否正确(XXX-XX-XXXX),将经过验证的输入添加到数组列表中。现在最后一步是创建一个 toString() 方法,该方法将 return 添加到数组中的所有社会安全号码的人类可读字符串表示形式。此方法必须使用 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()
{
//
//
//
//
}
}
}
StringBuilder strbul = new StringBuilder()
for(int i=0;i<SSNNumber.length;i++)
{
strbul.append(SSNNumber[i]).append("\n");
}
return strbul.toString();
您可以声明一个 String
来连接所有的 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()
方法,所以您需要 return class 的字符串表示而不是 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
方法没有正确的签名,它应该 return 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();
}
还要记得使用 @Override
注释。