【问题标题】:How to print out found words from a trie in java?java - 如何从java中的trie中打印出找到的单词?
【发布时间】:2013-04-29 14:38:30
【问题描述】:

我在这里有一个方法,可以搜索并打印我认为是字典的所有字母组合,以输入节点的形式。 我想指定每个打印输出,并将其指定给我的 search(string x) 方法,该方法查找一个单词是否在字典中。 我不知道如何将每个字母组合指定为字符串。我将它们打印在一行上,但不知道如何使该行打印一个字符串以传递给搜索方法。

public void print(Node node) { 

    if(node == null) return;  
    for(int i = 0; i < R; i++) {  
        if(node.next[i] != null) {
            //printing each character  
            System.out.print((char) (97 + i)); 

            //identifying letter combo                
            if(node.next[i].isWord == true) { 

                 //here i want to make that combo a string                  
                 System.out.println();
            }  
            print(node.next[i]);  
        }  

    }  
}     

【问题讨论】:

  • 你想要达到的目标有点奇怪。
  • 我没有完全理解您的要求。但也许这会有所帮助。 String s1; s1 = s1 + (char)(97+i);

标签: java search trie


【解决方案1】:

你可以使用 String s1 = ""; s1 = s1 + (char)(97+i); 将字符附加到字符串。您可以将其传递给您的 search 函数

某事,这边,

在for循环String s1 = ""之外将字符串初始化为""

在循环过程中不断将字符添加到String 以维护一个字符串

    s1 = s1 + (char)(97+i);

现在,

if(node.next[i].isWord == true) 
{ 
  //u can use the String here;  
             System.out.println(s1);
}

【讨论】:

  • 为什么要在 97 后面加上 'i'?什么是 97?
猜你喜欢
  • 2012-07-27
  • 1970-01-01
  • 1970-01-01
  • 2017-09-03
  • 2013-04-07
  • 1970-01-01
  • 2019-08-05
  • 2016-05-17
  • 2022-11-25
相关资源
最近更新 更多