我有两个类,NonEmptyTree和EmptyTree,它们实现了树接口。NonEmptyTree类中的toString()方法应返回一个字符串:key=>value key=>value key>value等...我不知道如何删除结果末尾的最后一个空格。编辑:我不能在String类中使用任何方法,也不能将任何内容与null进行比较。
public String toString() {
String result = "";
result+=(this.left.toString());
result+=this.key;
result+="=>";
result+=this.value;
result+=" ";
result+=this.right.toString();
return result;
}我曾尝试为类设置一个变量,用于指示某个NonEmptyTree实例是否为当前树中最大的实例,但console显示的是相同的字符串。
例如,字符串将如下所示:
"7=>seven 10=>ten 12=>twelve 15=>fifteen 16=>sixteen 17=>seventeen 20=>twenty 30=>thirty "任何帮助都将不胜感激。谢谢
发布于 2011-04-03 06:45:38
使用String.trim()
return result.trim()顺便说一句。如果你做了大量的String添加,最好使用StringBuilder及其方法append(),而不是用+添加多个String。
发布于 2011-04-03 06:49:34
public String toString() {
StringBuilder result = new StringBuilder();
result.append(this.left.toString());
result.append(this.key);
result.append("=>");
result.append(this.value);
result.append(" ");
result.append(this.right.toString());
return result.toString().trim();
}发布于 2011-04-03 06:45:57
你能简单地添加一个'if‘吗?如下所示:
public String toString()
{
String result = "";
result+=(this.left.toString());
result+=this.key; result+="=>";
result+=this.value;
if (this.right!=null) // Just add this, so it doesn't add an extra space if no right result exists
{
result+=" ";
result+=this.right.toString();
}
return result;
}https://stackoverflow.com/questions/5526337
复制相似问题