我如何构建 return 一个包含数组元素的字符串?

How can i build and return a String that contains the elements in an array?

我需要一个重载方法,它使用增强的 for 循环来构建和 return 一个包含数组中元素的字符串。这是我的作品:

 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

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

只需使用Arrays.toString(array)

解决方案

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

编辑

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

解决方案

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