我如何构建并返回包含数组中元素的String?

时间:2015-11-15 14:03:14

标签: java arrays string double

我需要一个重载方法,它使用增强的for循环来构建并返回一个包含数组元素的String。这是我的工作:

 public static String arrayToString(double[] dblArray) {
    String str = "";
    for (double i : dblArray) {
        System.out.println(dblArray.toString());
    }
    return str;
  }

我得到的输出是这样的:

 [D@232204a1
 [D@232204a1
 [D@232204a1
 [D@232204a1

我认为这是数组元素的地址。

2 个答案:

答案 0 :(得分:2)

只需使用Arrays.toString(array)

答案 1 :(得分:0)

解决方案

public static String arrayToString(double[] dblArray) {
    String arr = Arrays.toString(dblArray);
    String fin = arr.substring(1,arr.length()-1).replace(",", " ");
    return fin;
}

这是一个不使用循环的解决方案。

输入

{5.12,3.14,5.6}

输出

5.12  3.14  5.6

修改

如果您还想使用某种方法使用相同的技术打印2D数组,则必须使用如下所示的增强循环。

解决方案

public static String arrayToString(double[][] dblArray) {
        StringBuilder fin = new StringBuilder();
        for (double[] d : dblArray){
            fin.append(Arrays.toString(d).replace("[", "").replace("]", "").replace(",", " ") + "\n");
        }
        return fin.toString();
    }

输入

{{3.14,2.35}, {3.14,2.35}, {3.14,2.35}}

输出

3.14  2.35
3.14  2.35
3.14  2.35