您的位置:首页 > 编程语言

【编程题】输入一个字符串,输出该字符串中相邻字符的所有组合。

2018-03-06 22:25 369 查看
/**
* 输入一个字符串,输出该字符串中相邻字符的所有组合。
举个例子,如果输入abc,它的组合有a、b、c、ab、bc、abc。(注意:输出的组合需要去重)(40分)
* @param args
*/
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
Set<String> set=new HashSet<String>();
char[] cstr=str.toCharArray();
for(int i=1;i<cstr.length+1;i++){//循环 表示共有cstr长度种 长度的字符串
for(int j=0;j<cstr.length-i+1;j++){//表示这个长度字符串有多少个
StringBuilder sb=new StringBuilder();
for(int k=j;k<i+j;k++){//组装字符串
sb=sb.append(cstr[k]);
}
set.add(sb.toString());
}
}
List<String> list=new ArrayList<>();
for(String value:set){
list.add(value);
}
Collections.sort(list);
for(int i=1;i<=cstr.length;i++) {
for (String vl : list) {
if(vl.length()==i) {
System.out.print(vl + " ");
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐