将整数数组作为参数和返回字符串的静态方法

时间:2015-06-30 16:10:56

标签: java arrays static-methods

我想创建一个静态方法静态字符串displayArray(int [] array),它将一个整数数组作为参数,使用一个循环来创建并返回一个表示该内容的新String。数组用大括号括起来,用逗号分隔。 例如,

int [] myArray = { 12,9,10,25};
String str = displayArray(myArray);
System.out.println (str);   // should display {12,9,10,25}

我的解决方案:

public static String displayArray (int [] array) {
    for (int i=0; i< array.length; i++) {
        System.out.println(array[i]);
    }
    return null;
}

但它输出如下:

12
9
10
25
null

7 个答案:

答案 0 :(得分:1)

这样的事情:

public static String displayArray (int [] array) {
    StringBuilder sb = new StringBuilder();
    for (int i=0; i< array.length; i++) {
        sb.append(array[i]);
        if(i!=array.length-1)
            sb.append(",");
    }
    return "{"+sb.toString()+"}";
}

答案 1 :(得分:1)

您需要构建一个String对象才能返回。现在你返回null,几乎没有。

我建议使用StringBuilder,它比直接连接Strings快一点。因此,在循环之前,您需要定义一个StringBuilder对象并添加左括号:

StringBuilder returnString = new StringBuilder();
returnString.append("{");

然后在你的循环中,你可以连接每个数字:

returnString.append(Integer.toString(array[i]);

之后,您需要检查是否有最后一个元素,如果没有,请附加一个逗号。

最后追加右括号,而不是返回null使用:

return returnString.toString();

答案 2 :(得分:1)

你可能需要这个:

public static String displayArray(int[] array) {
        StringBuilder builder = new StringBuilder("{");
        for (int i = 0; i < array.length; i++) {
            builder.append((array[i])).append(",");
        }
        return builder.substring(0, builder.length() - 1).concat("}");
    }

答案 3 :(得分:0)

请改为:

android:progressBackgroundTint=""

答案 4 :(得分:0)

是的,它正是为您提供正确的输出。 要获得所需的输出,您可以修改显示阵列功能,如下所示:

   public static String displayArray (int [] array) {
       String str = "";
       for (int i=0; i< array.length; i++) {
            str += array[i]+",";
       }
       returns str;
  }

答案 5 :(得分:0)

没有一个答案显示您想要的输出。

public static String displayArray (int [] array) {
    StringBuilder sb = new StringBuilder();
    sb.append("{");   
        for (int i=0; i< array.length; i++) {
            sb.append(array[i]);
            if(i != array.length-1)
              sb.append(",");
        }
    sb.append("}"); 
    return sb.toString();
}

答案 6 :(得分:0)

public static String displayArray( int[] array )
{
    return "{" + Arrays.toString( array ).replace("[", "").replace("]", "")  + "}";
}

取消@BorisTheSpider的想法,因为我发现这比Stringbuilder更容易,这是返回字符串{ val1, val2, val3 }的方法。

基本上,手动打印括号并用""替换括号。