public static char firstNonRepeatedCharacter(String str) { 
        //获取字符串中不重复的第一个字符 
 
        //第一步,用hashMap进行存放分割出来的字符串 
        //key当做接收分割出来的字符串 value用来接受次数 
        HashMap<Character, Integer> hashMap = new HashMap<Character, Integer>(); 
        //循环小于字符串的长度 
        for (int i = 0; i < str.length(); i++) { 
             //分科字符串中的第i个字符 
                char c = str.charAt(i); 
                if(c!=','||c!='.'||c!='?') 
                hashMap.put(c, hashMap.containsKey(c)?hashMap.get(c) + 1:1); 
 
        } 
        // 进行循环查找 
        for (int i = 0; i < str.length(); i++) { 
            //切割 
            char c = str.charAt(i); 
            //如果这个字符的value等于1 
            //返回这个字符 
            if (hashMap.get(c) == 1) { 
                return c; 
            } 
        } 
        throw new RuntimeException("字符串中没有不重复的第一个字符"); 
    }

 

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!