Java - 调用从数组返回一串int的方法

时间:2013-10-24 21:41:27

标签: java arrays eclipse string methods

我正在使用一个程序,我需要使用方法调用从int数组返回一个String。这就是我到目前为止所使用的方法(我需要使用带有此标头和参数的方法)

    public String toString()
{
for (int i=0;i<NUM_POCKETS;i++)
    {
    this.getPocketCount(i);
    }
}

我基本上需要循环遍历所有“pocket”(数组项)并将存储的值返回到要返回的String中。

我可能会遗漏一些非常明显的东西,但对于我的生活,我不明白这些信息将如何存储并作为字符串返回给Driver。我知道循环逻辑在那里,但是当循环进行时如何将i的每个增量存储到一个String中?

提前感谢您的帮助!

4 个答案:

答案 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