尝试删除最后一个逗号,而是添加一个结束括号。如何解决这个问题?
我的代码:
@Override
public String toString(){
String str="[";
for(double d:data) str+=d+", ";
return str;
}
示例数据:
stat1 data = [
stat1 data = [50.0, 60.0,
stat1 data = [70.0, 80.0,
stat1 data = [90.0, 100.0,
stat1 data = [100.0, 110.0,
stat1 data = [
答案 0 :(得分:0)
有时候很难说,你在迭代器中查看的元素是最后一个元素。在这种情况下,除了第一个元素之外,通常最好在之前添加逗号而不是之后的每个元素。因此:
String str = "[";
boolean first = true;
for (double d : data) {
if (!first) {
str += ", ";
}
str += d;
first = false;
}
str += "]";
另一种可能性是使用您现在拥有的逻辑,但使用substring
或replace
或其他方法删除额外的两个字符,例如
str = str.replaceFirst(", $", "]");
使用正则表达式替换出现在字符串末尾的", "
,右括号。
答案 1 :(得分:0)
最好只在toString
方法中打印数据,并添加排版元素,如'['或逗号分别附带if
语句。
但是,如果您坚持只使用toString
方法,请向该类添加boolean
字段,如果某个内容是最后一个对象并在toString
方法内,则将其设置为true,请检查领域并做出正确的决定。