对于任意输入的一段字符串,读取并且计算其中所有字符出现的次数。
使用HashMap存储字符和其对应的出现的次数,输出时,对HashMap进行遍历。
难点在于对HashMap的遍历,第一次使用,也是学习了。
Main.java
package com.fuxuemingzhu.countwords.main; import java.util.HashMap; import java.util.Iterator; import java.util.Scanner; /** * <p> * Title: Main * </p> * <p> * Description:输入一个字符串,计算字符串中每个字符出现的次数 * </p> * * @author fuxuemingzhu * * @email fuxuemingzhu@163.com * * @date 2014年11月24日 下午3:29:41 */ public class Main { public static String input; public static HashMap<String, Integer> charsCount = new HashMap<String, Integer>(); /** * <p> * Title: main * </p> * <p> * Description:main()方法 * </p> * * @param args * */ public static void main(String[] args) { input(); countWords(); output(); } /** * <p> * Title: input * </p> * <p> * Description:输入需要计算的字符串 * </p> * */ public static void input() { System.out.println("请输入需要计算的字符串:"); Scanner scanner = new Scanner(System.in); input = scanner.nextLine(); scanner.close(); } /** * <p> * Title: countWords * </p> * <p> * Description:用HashMap保存每个字符出现的次数 * </p> * */ public static void countWords() { for (int i = 0; i < input.length(); i++) { String temp = input.substring(i, i + 1); if (charsCount.containsKey(temp)) { charsCount.put(temp, charsCount.get(temp) + 1); } else { charsCount.put(temp, 1); } } } /** * <p> * Title: output * </p> * <p> * Description:将HashMap中的每一对元素输出 * </p> * */ public static void output() { System.out.println("您输入的字符串为:" + input + "\n其中"); for (Iterator<String> iterator = charsCount.keySet().iterator(); iterator .hasNext();) { String words = (String) iterator.next(); int num = charsCount.get(words); System.out.println("'" + words + "'出现了" + num + "次"); } } }
附运行截图。
java源码——统计字符串中字符出现的次数
最新推荐文章于 2024-08-07 14:59:42 发布