我需要一个重载方法,它使用增强的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
我认为这是数组元素的地址。
答案 0 :(得分:2)
答案 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