java - 递归最长词编程

标签 java recursion longest-substring

我终于如愿以偿了。谢谢大家的帮助,我想强调这不是家庭作业。

public static void main(String[] args) {
    String input = "Java is a programming language";
            StringTokenizer st = new StringTokenizer(input);
    System.out.print(longestWord(input));

}

public static String longestWord(StringTokenizer st) {
    if (!st.hasMoreTokens()) {
        return "";

    } else {
        String token = st.nextToken(); 
        String longestInTheRest = longestWord(st);
        if (token.length() > longestInTheRest.length()) { 

            return token;

        } else {
            return longestInTheRest;
        }

最佳答案

以下是不完全正确的:

else if (token.length() > result.length()) {

执行上述语句时,result总是""

函数应该做的是返回以下较大者:(1) token 的长度; (2) 递归调用返回的单词长度。

您可能还会考虑这两个 s.substring() 调用是否完全符合您的要求,或者是否可能存在问题。打印出 tokenrest(或在调试器中检查它们)可能会有用。

因为这看起来像是家庭作业,所以我就到此为止。

关于java - 递归最长词编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869693/

相关文章:

java - Spring Data Predicate - 在子集合中搜索属性

java - 仅显示 Viewflipper 中最后一个 Flipper 图像的按钮

java - Swing 不确定 JProgressBar 移动得太快

haskell - 在haskell中接受/拒绝下推自动机

list - Prolog:在列表列表中的整数处拆分列表

java - 返回两个给定字符串之间较大序列的大小

python - 尝试制作一种检查字符串的算法,然后输出最长的子字符串

java - 我如何无法在java swing中显示带有字符串类名的jframe或jdialog

javascript - 如何获取一个单词的所有可能集合 - JS

python - 如何找到多个文档中存在的所有最长公共(public)子串?