废话不多说,直接上代码:
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
// 用一个集合存元素,方便去重
Set<String>set=new HashSet<>();
for(int i=1;i<=str.length();i++) {
f(i,set,str);
}
// 这里是测试代码,打印出来方便查看
for(String s:set) {
System.out.println(s);
}
System.out.println("总共有:"+set.size()+"种");
}
// 写一个方法,便于截取子串
private static void f(int index,Set<String> set,String str) {
String s="";
// 从长度为一到字符串的长度开始逐步截取,然后放入集合里面
for(int i=0;i<str.length()-index+1;i++) {
s=str.substring(i,i+index);
set.add(s);
}
}
}