在一個字符串中找到第一個只出現一次的字符。(List實現)

import java.util.Scanner;
import java.util.*;

/**
 * 在一個字符串中找到第一個只出現一次的字符。如輸入abaccdeff,則輸出b。(List實現)
 */
public class TestFourTeenth {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入要判斷的字符串:");
        String str = sc.nextLine();
        System.out.println("請輸入大小寫敏感標記,取值範圍爲true | false,true表示大小寫敏感;缺省取值true。");
        String flag=sc.nextLine();
        String out=getOneFirst(str,flag);
        System.out.println(out);
    }
    public static String  getOneFirst(String str,String flag) {
        List<String> list=new ArrayList<String>();
        char chars[]=str.toCharArray();
        if("true".equals(flag) || flag==null){
            for(int i=0;i<chars.length;i++){
                if(list!=null && list.contains(String.valueOf(chars[i]))){
                    list.remove(String.valueOf(chars[i]));
                }else{
                    list.add(String.valueOf(chars[i]));
                }
            }
        }else if("false".equals(flag)){
             for(int i=0;i<chars.length;i++){
                 for(int j=0;j<list.size();j++){
                     if(list!=null && String.valueOf(chars[i]).equalsIgnoreCase(list.get(j))){
                         list.remove(list.get(j));
                         continue;
                     }else{
                         list.add(String.valueOf(chars[i]));
                     }
                 }
             }
        }
       return list.get(0);
    };
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章