1. 程式人生 > >【程式設計題】輸入一個字串,輸出該字串中相鄰字元的所有組合。

【程式設計題】輸入一個字串,輸出該字串中相鄰字元的所有組合。

/**
 * 輸入一個字串,輸出該字串中相鄰字元的所有組合。
 舉個例子,如果輸入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 + " "); } } } }