java - 抛出 EmptyTreeException 不起作用

标签 java binary-tree binary-search-tree

我目前正在开发一个项目,我必须制作一个二叉搜索树,但在实现 getRootData 方法时遇到了一些问题

我已经尝试过导入不同的东西或试图找到一个实现的方法,但我还没有找到任何运气。

public T getRootData() {
    if (isEmpty())
        throw new EmptyTreeException();
    else
        return root.getData();
}

我是否应该为 EmptyTreeExcpetion 编写一个类,或者我还需要做其他事情吗?

最佳答案

所以首先你必须编写一个 EmptyTreeException 类,因为没有这样的内置类

public class EmptyTreeException extends RuntimeException
{   
    public EmptyListException()
    {
        super ("Tree is Empty");
    }
}

现在,您必须像这样更改 getRootData():

public T getRootData() throws EmptyTreeException
{
    if (isEmpty())
        throw new EmptyTreeException();
    else
        return root.getData();
}

编辑:您不必更改 getRootData(),正如 SO 的其他用户所提到的,EunTimeException 是“未经检查的”异常”,因此无需在方法 header 后抛出 EmptyTreeException 执行此操作。

关于java - 抛出 EmptyTreeException 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55777114/

相关文章:

java - 如何确定平衡或完美平衡的二叉搜索树(仅来自图片)

c - 二叉树递归搜索c代码[不是二叉搜索树]

c++ - 使用二分搜索树存储多维 vector

java - 如何为带有堆栈的 Iterator 类设置构造函数?

algorithm - 获取二叉搜索树的平均高度

c++ - 无法找到 BST 的高度

java - 是否建议在字段中缓存 Collections.unmodifiableList() 结果?

java - 异常处理程序的 Camel 建议

java - 在 Java 中存储唯一排序值的最有效方法(最佳性能和最少 gc)是什么?

java - 如何在通用jframe中使用多个jpanel