在一个字符串中找到第二个只出现4次的字符,如果不存在返回nul.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* @Author hwj
* @Date 2020/8/18 19:49
* @Desc:
**/
public class SearchChar {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
System.out.println(getSecondChar(str));
}
public static Character getSecondChar(String param){
char[] params=param.toCharArray();
LinkedHashMap<Character,Integer> map=new LinkedHashMap<>();
for(int i=0;i<params.length;i++){
if(map.containsKey(params[i])){
map.put(params[i],map.get(params[i])+1);
}else{
map.put(params[i],1);
}
}
Iterator iterator = map.entrySet().iterator();
LinkedHashMap<Character,Integer> map2=new LinkedHashMap<>();
while (iterator.hasNext()) {
Map.Entry<Character, Integer> en = (Map.Entry<Character, Integer>) iterator.next();
Integer value = en.getValue();
if(value==4){
map2.put(en.getKey(),en.getValue());
}
}
Iterator iterator2 = map2.entrySet().iterator();
if (map2.size()<2){
return null;
}else{
for(int i=0;i<map2.size();i++){
Map.Entry<Character, Integer> en2 = (Map.Entry<Character, Integer>) iterator2.next();
Character key = en2.getKey();
if(i==1){
return key;
}
}
}
return null;
}
}