方法1:if...else语句实现
package rs.xiao08; import java.util.HashMap; import java.util.Scanner; import java.util.Set; public class Demo1 { public static void main(String[] args) { Scanner S = new Scanner(System.in); System.out.println("请输入一个字符串:"); String s = S.nextLine(); char a[] = new char[s.length()]; for (int i = 0; i < s.length(); i++) { a[i] = s.charAt(i);//charAt(i)方法取出一个字符串索引为i的字符 } HashMap<Character,Integer> H = new HashMap<Character,Integer>(); int sum = 0; int flag = 0; for (int j=0;j<a.length;j++) { if (j == 0) { for (int i = j; i < a.length; i++) { if (a[j] == a[i]) { sum++; } } H.put(a[j], sum); sum = 0; } else { flag = 0; for (int n = j - 1; n >= 0; n--) { if (a[j] == a[n]) { flag = 1; } } if (flag == 0) { for (int i = j; i < a.length; i++) { if (a[j] == a[i]) { sum++; } } H.put(a[j], sum); sum = 0; } } } Set<Character> characters = H.keySet(); for (Character i : characters){ System.out.println(i+"("+H.get(i)+")"); } } }
方法2:HashMap集合键值对实现
package rs.xiao08; import java.util.HashMap; import java.util.Scanner; import java.util.Set; public class Demo3 { public static void main(String[] args) { Scanner S = new Scanner(System.in); System.out.println("请输入一个字符串:"); String s = S.nextLine(); HashMap<Character,Integer> H = new HashMap<Character,Integer>(); for (int i = 0; i < s.length(); i++) { char key = s.charAt(i);//charAt(i)方法取出一个字符串索引为i的字符 Integer value = H.get(key); if (value==null){ H.put(key,1); }else{ value++; H.put(key,value); } } //拼接 StringBuilder sb = new StringBuilder(); Set<Character> keyset = H.keySet(); for (Character key:keyset){ Integer value = H.get(key); sb.append(key).append("(").append(value).append(")"); } String s1 = sb.toString(); System.out.println(s1); } }