我如何构建 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
我认为这是数组元素的地址。
解决方案
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
我需要一个重载方法,它使用增强的 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
我认为这是数组元素的地址。
解决方案
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