我试图将输出显示为“ 1(10)2(23)3(29)”,而将输出显示为“ 1 2 3(10)(23)(29)”。如果有人可以看一下代码并可能对我有所帮助,我将不胜感激。我不想使用arraylist。
该代码
// int[] Groups = {10, 23, 29}; in the constructor
public String toString()
{
String tempStringB = "";
String tempStringA = " ";
String tempStringC = " ";
for (int x = 1; x<=3; x+=1)
{
tempStringB = tempStringB + x + " ";
}
for(int i = 0; i < Group.length;i++)
{
tempStringA = tempStringA + "(" + Groups[i] + ")";
}
tempStringC = tempStringB + tempStringA;
return tempStringC;
}
最佳答案
问题是您要将所有索引附加到一个String
上,并且将所有元素附加到另一个String
上,然后将两个索引连接在一起。
而是尝试构建一个StringBuffer
(并记住使用StringBuilder
/ String
,因为它比串联更有效):
public String toString() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < Groups.length; i++) {
sb.append(i+1).append('(').append(Groups[i]).append(')');
}
return sb.toString();
}
关于java - 串联输出问题(toString数组)-Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3024362/