首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多态二叉搜索树

多态二叉搜索树
EN

Stack Overflow用户
提问于 2011-04-03 06:33:11
回答 3查看 2.6K关注 0票数 0

我有两个类,NonEmptyTree和EmptyTree,它们实现了树接口。NonEmptyTree类中的toString()方法应返回一个字符串:key=>value key=>value key>value等...我不知道如何删除结果末尾的最后一个空格。编辑:我不能在String类中使用任何方法,也不能将任何内容与null进行比较。

代码语言:javascript
复制
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显示的是相同的字符串。

例如,字符串将如下所示:

代码语言:javascript
复制
"7=>seven 10=>ten 12=>twelve 15=>fifteen 16=>sixteen 17=>seventeen 20=>twenty 30=>thirty "

任何帮助都将不胜感激。谢谢

EN

回答 3

Stack Overflow用户

发布于 2011-04-03 06:45:38

使用String.trim()

代码语言:javascript
复制
return result.trim()

顺便说一句。如果你做了大量的String添加,最好使用StringBuilder及其方法append(),而不是用+添加多个String

票数 2
EN

Stack Overflow用户

发布于 2011-04-03 06:49:34

代码语言:javascript
复制
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();
}
票数 2
EN

Stack Overflow用户

发布于 2011-04-03 06:45:57

你能简单地添加一个'if‘吗?如下所示:

代码语言:javascript
复制
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; 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5526337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档