我正在使用一个程序,我需要使用方法调用从int数组返回一个String。这就是我到目前为止所使用的方法(我需要使用带有此标头和参数的方法)
public String toString()
{
for (int i=0;i<NUM_POCKETS;i++)
{
this.getPocketCount(i);
}
}
我基本上需要循环遍历所有“pocket”(数组项)并将存储的值返回到要返回的String中。
我可能会遗漏一些非常明显的东西,但对于我的生活,我不明白这些信息将如何存储并作为字符串返回给Driver。我知道循环逻辑在那里,但是当循环进行时如何将i的每个增量存储到一个String中?
提前感谢您的帮助!
答案 0 :(得分:3)
“I am working with a program in which I need to use a method call to return a String from an int array.
”
如果这不是作业问题,您只需使用Arrays.toString(int[] array)
。
String myString = Arrays.toString(myIntArray);
否则,也许你可以这样做:
String getStringFromIntArray(int[] array) {
StringBuilder builder = new StringBuilder();
for (int num : array)
builder.append(num)
return builder.toString();
}
答案 1 :(得分:1)
尝试查看StringBuilder类。 Java 6的规范就在这里。
http://docs.oracle.com/javase/6/docs/api/java/lang/StringBuilder.html
你需要一个StringBuilder对象,只需使用.append()函数将值附加到对象。
答案 2 :(得分:1)
只要this.getPocketCount(i);
给出位置i上数组的值:
public String toString() {
String returnstring= ""; //init empty string
for (int i = 0; i < NUM_POCKETS; i++) {
returnstring += this.getPocketCount(i)+" "; //append(concat) to string
}
returnstring = returnstring.substring(0, returnstring.length()-1); //remove the last " "
return returnstring; //return string
}
+
符号附加下一个字符串
"Hello"+" "+"World"
变为"Hello World"
编辑:
public String toString() {
String returnstring= ""; //init empty string
for (int i = 0; i < NUM_POCKETS-1; i++) { //-1 to place last later
returnstring += this.getPocketCount(i)+" "; //append to string
}
returnstring += this.getPocketCount(NUM_POCKETS-1) //append the last value
return returnstring; //return string
}
答案 3 :(得分:0)
假设您特别想在循环中构建String,可以使用StringBuilder
。它比Arrays.toString()
提供的单行更详细,但你要求它:
e.g。
public String toString() {
StringBuilder sb = new StringBuilder(NUM_POCKETS);
for (int i = 0; i < NUM_POCKETS; i++) {
sb.append(this.getPocketCount(i));
}
return sb.toString();
}
在循环中使用StringBuilder
比执行每个单独元素的连接更快。请参阅:when to use StringBuilder in java