【程式設計題】輸入一個字串,輸出該字串中相鄰字元的所有組合。
阿新 • • 發佈:2019-02-08
/** * 輸入一個字串,輸出該字串中相鄰字元的所有組合。 舉個例子,如果輸入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=newArrayList<>(); 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 + " "); } } } }