• 如何判断一个文件的每个文字出现次数


    package com.hu;
    
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    
    /*
     *   读入123.txt文本
     *   判断一个文件的每个文字出现次数
     *
     * */
    public class jiexi {
        public static void main(String[] args) throws IOException {
         //创建StringBUilder用来存放所有字节 StringBuilder sb
    = new StringBuilder();
         //创建输入流 BufferedReader bufferedReader
    = new BufferedReader(new FileReader("123.txt")); String lin; while ((lin = bufferedReader.readLine()) != null) {
         //添加 sb.append(lin); }
         //关流 bufferedReader.close();
         //调用方法jiexi1 HashMap
    <Character, Integer> characterIntegerHashMap = jiexi1(sb);      //遍历characterIntegerHashMap集合 Set<Map.Entry<Character, Integer>> keys = characterIntegerHashMap.entrySet();
         //创建计数count
    int count=0; for (Map.Entry<Character, Integer> key : keys) {
           //输出集合中的内容 System.out.print(key.getKey()
    +"---"+key.getValue()+" ");
           count
    ++;
           //换行
    if (count==10){ System.out.println(); count=0; } } } public static HashMap<Character, Integer> jiexi1(StringBuilder sb) {
         //创建一个以字符为键,以数字为值的map集合 Map
    <Character, Integer> map = new HashMap<>();
         //遍历传来的sb
    for (int i=0;i<sb.length();i++) {
           //以char格式接收sb
    char c = sb.charAt(i);
           //判断map集合中的键和当前字符是否存在
    if ((map.containsKey(c)) != false) {
              //遍历map Set
    <Map.Entry<Character, Integer>> entries = map.entrySet(); for (Map.Entry<Character, Integer> entry : entries) {
                //获取当前键和值 Character key
    = entry.getKey(); Integer value = entry.getValue();
                //创建记录变量
    int count=value;
                //比较当前map的键和当前字符是否相等
    if (key.equals(c)){
                   //相等加1 count
    ++; map.put(c,count); } }
            //如果不相等给这个字符初始化为出现一次 }
    else { map.put(c,1); } }
         //返回map集合
    return (HashMap<Character, Integer>) map; } }
  • 相关阅读:
    JAVA中的for循环
    Android项目开发全程(三)-- 项目的前期搭建、网络请求封装是怎样实现的
    Android项目开发全程(二)--Afinal用法简单介绍
    Android项目开发全程(一)--创建工程
    Spring中的线程池和定时任务功能
    JVM内存分析
    并发基本概念介绍
    javax顶层接口分析
    HttpServlet源码分析
    SpringMVC创建HelloWorld程序
  • 原文地址:https://www.cnblogs.com/xiaohucode/p/13275268.html
Copyright © 2020-2023  润新知