首先,我有这个输入:
[[0.0, 1.0, 0.6666666666666666, -0.3333333333333333, 0.0, 0.0, 1.3333333333333333], [1.0, 0.0, -0.3333333333333333, 0.6666666666666666, 0.0, 0.0, 3.3333333333333335], [0.0, 0.0, -1.0, 1.0, 1.0, 0.0, 3.0], [0.0, 0.0, -0.6666666666666666, 0.3333333333333333, 0.0, 1.0, 0.6666666666666667], [0.0, 0.0, -0.3333333333333333, -1.3333333333333333, 0.0, 0.0, -12.666666666666666]];
然后我想输出格式化的输入。有一些规则:
[
; ""
]
; "\n"
,
; //删除元素之间的逗号""
; //将点更改为逗号所以,这是我的代码:
"."
实际上输出是(注意在开始时有一个空格,我也想删除它):
","
预期输出:
@Override
public String toString() {
StringBuilder sb = new StringBuilder("\n");
sb.append("\n").append(numbersOfExmaple.toString()
.replaceAll("\\[", "")
.replaceAll("\\]", "\n")
.replaceAll(",", "")
.replaceAll("\\.", ","));
// String.format isn't working...
return sb.toString();
}
答案 0 :(得分:0)
1您可以将字符串解析为数组 2截断十进制 3在打印更换之前,逐个打印阵列元素。通过,
答案 1 :(得分:0)
您可以使用这种方法
for(ArrayList<Double> tmp:ad){
for(Double t:tmp)
System.out.print(String.format("%.2f ",t).replace(".",","));
System.out.println();
}
此处ad
id arraylist add tmp
的arraylist是ArrayList<Double>
答案 2 :(得分:0)
尝试这样的事情
private static String matrixString(Double[][] numbersOfExmaple) {
StringBuilder answ = new StringBuilder();
for (Double[] arr : numbersOfExmaple) {
for (Double val : arr) {
answ.append(String.format("%7.2f", val).replace('.', ','));
}
answ.append('\n');
}
return answ.toString();
}