Sigue una cadena str String = "AAAABBBBCCCDDDEFF"; ① Por favor, cuente el número de veces que cada letra aparece, ② imprimir la carta que el mayor número de

public static void main(String[] args) {
	String str = "AAAABBBBCCCDDDEFF";
	Map<String, Integer> m = new ConcurrentHashMap<String, Integer>();
	int count = 0;
	for (int i = 0; i < str.length(); i++) {
		String key = str.substring(i, i + 1);
		if (m.containsKey(key)) {
			count++;
			m.put(key, count);
		} else {
			count = 1;
			m.put(key, count);
		}
	}
	for (Map.Entry<String, Integer> a : m.entrySet()) {
		System.out.println(a.getKey() + "-----" + a.getValue());
	}
	// int max=0;
	// for(Map.Entry<String,Integer> a: m.entrySet()){
	// if(a.getValue()> max+3){
	// max=a.getValue();
	// if(max==a.getValue()){
	//
	// }
	// for( int i=0;i<max;i++){
	// System.out.print(a.getKey());
	// }
	// }
	// }
	Collection<Integer> values = m.values();
	System.out.println(Collections.max(values));
	for (Map.Entry<String, Integer> a : m.entrySet()) {
		if (Collections.max(values) == a.getValue()) {
			for (int i = 0; i < a.getValue(); i++) {
				System.out.print(a.getKey());
			}

		}
	}
Publicado 14 artículos originales · ganado elogios 1 · visitas 250

Supongo que te gusta

Origin blog.csdn.net/weixin_45061669/article/details/104783692
Recomendado
Clasificación