跳转到主要内容 链接 搜索 菜单 展开 文档 (外部链接)

常见问题 - 项目 2B

环境设置

我遇到了 spark failed to ignite 错误。

这可能表示其他进程已经在使用 Spark 且尚未终止。重新启动计算机应该可以解决这个问题。

尝试执行 git pull 命令后出现分支冲突错误。

运行 git config pull.rebase false ,然后重新拉取。

我遇到了 'Cannot invoke "ngordnet.ngrams.TimeSeries.years()" because "ILILILILIILILIILILIILIL" 是 null' 错误

重新拉取 library-sp24 中的库。

我尝试在 library-sp24 中执行 git pull ,但仍然遇到上述异常。

确保获取新的库文件后,你已经在 IntelliJ 中重新导入了库。

无论我怎么做,库都无法正常工作!

尝试完全删除 library-sp24 并重新克隆它。

运行 Main.java 时出现 Failed to bind to /0.0.0.0:4567 错误。

保存你的代码并重启 IntelliJ。如果这不起作用,也尝试重新启动计算机。

HyponymsHandler - 基本情况

调用 iterator() 时因为对象为 null 而出现 NullPointerException

这是一个非常常见的问题。每当你尝试使用增强 for 循环遍历一个对象时,就像这样: for (<Type> element : elements){...}

如果 elements 为 null,你会得到这个错误,因为我们不能在 null 上调用 iterator() 。我们建议你在遍历之前检查 elements 以确保它不是 null

因为 get 的输出为 null 而出现 NullPointerException

回想一下,如果在映射中找不到请求的键,那么 get 将返回 null 。这个问题的另一个原因可能是探索"汇"节点(没有任何子节点)的子节点。

HyponymsHandler - 单词列表

60000 毫秒后出现超时问题,或者自动评分器提示我应该确保代码在所有输入上都能终止。

确保你使用了适当的数据结构——我们需要输出重复的单词吗?在任何可以合理使用 Set 而不是 List 的地方,都会节省一些运行时间。你应该在使用 List Set 函数时考虑它们的运行时间。此外,确保你有某种方式可以在常数时间内访问与给定单词相关联的同义词集。你也不应该在每次调用 handle 时都重新构建图。

我的测试返回空列表。

如果你使用 List.of() 来构建列表,请确保你的逗号分隔在引号外面。 List.of("one, two") 是一个包含单词"one, two"的单元素列表。 List.of("one", "two") 是一个包含"one"和"two"两个元素的列表。