【问题描述】
一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个。注意在计算时,只算本质不同的串的个数。
请问,字符串0100110001010001 有多少个不同的非空子串?
import java.util.HashSet;
public class Demo26 {
public static void main(String[] args) {
//创建set集合使其元素不重复
HashSet set = new HashSet();
String str = "0100110001010001";
//两个for循环遍历截取
for(int i = 0; i< str.length();i++) {
for(int j = 16; j > i;j --) {
set.add(str.substring(i, j));
}
}
//直接获取Set大小可获取
System.out.print(set.size());
}
}