Java 如何找到一个单词

Java 如何找到一个单词,java,tree,Java,Tree,我正在尝试读取一个节点,该节点将查找树中最长的单词 我的方法是publicstaticintwordnode d。那我怎么才能找到那个节点的长度呢?我会使用课堂上制作的字符串吗?我将使用的类初始化一个布尔字符串:theWord和children。以下是我得到的: int newWord = 0; int word = d.theWord.length(); if (d.isWord) { if (word > newWord) { newWord = word;

我正在尝试读取一个节点,该节点将查找树中最长的单词

我的方法是publicstaticintwordnode d。那我怎么才能找到那个节点的长度呢?我会使用课堂上制作的字符串吗?我将使用的类初始化一个布尔字符串:theWord和children。以下是我得到的:

int newWord = 0;
int word = d.theWord.length();
if (d.isWord) {
    if (word > newWord) {
        newWord = word;
        return longestWord((DTN) d.children);
    } else {
        return longestWord((DTN) d.children);
    }
}
return newWord;

这还不足以继续下去,但我还是要在黑暗中试一试

public static int longest(Node d) {
  if (d == null) return 0;
  else return Math.max(longest(d.left), longest(d.right)) + 1;
}

好的,还有更多的信息。我仍然不清楚这里到底发生了什么,但这里有另一个我认为基本上是你想要的东西:

String longestWord(Node d) {
  String result = d.theWord;
  for (Node c : d.children) {
     String w = longestWord(c);
     if (result.length < w.length) result = w;
  }
  return result;
}

这假设d.children是一些节点的集合。

坦率地说,我无法从你的问题中了解太多。你能否更清楚地说明你是否在使用swing,并提供更多细节。问题陈述非常模糊,因此该方法在参数中取一个节点,我想知道如何找到节点的长度,然后如何调用子节点??因此子节点在节点内的数组中?可以显示节点的数据结构吗?子节点是一个带有字符串和节点的映射,所以我正确地调用了它吗?如果我不能调用d.left和right呢?就像这个类只有一个字符串和一个布尔值一样???@Sam-整个问题的问题是你没有清楚地表达自己。例如,术语“数字树”对我来说毫无意义,可能99%的人都在阅读它。@Sam,你不能有一个树数据结构,其中你没有一个节点指向子节点的方法。这个函数同时使用循环和递归;对于您正在做的事情,您只需要使用这两种方法中的一种。@R-不正确。他假设每个节点都有一个子节点列表或数组;i、 它是一个N元树而不是二叉树。在这种情况下,您必须迭代子对象,然后对每个子对象进行递归。。。就像他在做的一样。对不起,我不清楚,但是方法是int。另外,我不知道调用word(一个公共字符串)是否会得到我输入的字符串。此外,子对象是获取字符串的映射。并且,检查参数是否为null或尚未为null。