创建一个java程序,它给出了输入的不同子串的数量

时间:2015-06-02 17:10:00

标签: java substring

我需要帮助在java中创建一个程序,该程序将使用字母串输入(无空格),然后输出不同子串的数量。

示例输出:

*输入要测试的字符串:abc - “abc”有7个不同的子串。

要测试的输入字符串:aaa - “aaa”有4个不同的子串。*

我完全迷失了,任何帮助都会受到赞赏。谢谢。

2 个答案:

答案 0 :(得分:0)

由于这是作业,这里有一个指南。

  • 创建一组字符串。
  • 将每个组合添加到集合中。
  • 获取套装的大小。

答案 1 :(得分:0)

这是一个快速的Java解决方案

import java.util.HashSet;

public class Main {
    public static void main(String[] args) {
        combination("abc");
        System.out.println(set.size());
    }

    public static HashSet<String> set = new HashSet<>();

    public static void combination(String s) {
        combination("", s);
    }

    private static void combination(String prefix, String s) {
        if (s.length() > 0) {
            String str = prefix + s.charAt(0);   // print here if you want
            set.add(str);
            combination(prefix + s.charAt(0), s.substring(1));
            combination(prefix, s.substring(1));
        }
    }

}