`
dbzhuan
  • 浏览: 21117 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
社区版块
存档分类
最新评论

从文件中得到出现次数最多的字符

阅读更多

package cn.dbzhuan.test;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;

public class TestFileToMap {
 
 public static void main(String args[])
 {
  TestFileToMap map = new TestFileToMap();
  map.readFile();
  
 }
 
 
 /**
  * 读取文件到map中,字符作为健,出现的次数作为值
  * @return
  */
 public Map<Character, Integer> readFile()
 {
    HashMap<Character, Integer> map = new HashMap<Character, Integer>();
  try
  {
   BufferedReader br = new BufferedReader(new FileReader(
     "E://test//digist.txt"));
  
 
  char[] str = null;
  
  str = br.readLine().trim().toCharArray();
  int[] count = new int[str.length] ;
  for(int i = 0; i<str.length ; i++ )
  {
    count[i] = 1;
    char temp = str[i];

    if (map.containsKey(temp))
    {
     count[i] = map.get(temp);

     count[i]++;
    }

    map.put(temp, count[i]);
   }
  }
  catch(Exception e)
  {
  e.printStackTrace(); 
  }
  
// Collection<Integer>  values = map.values();
// 
// Integer max = 1 ;
// for(Iterator it = values.iterator();it.hasNext();)
// {
//    
//    Integer count = (Integer) it.next();
//    if(count > max)
//    {
//    max = count ;
//   
//    }
//  
// }
// System.out.println("最大次数" +max  );
//  
//  
//  return map ;
//  
// }
  readMap(map);
  
 return map;
      
 }
 
 
 /**
  * 比较map中字符出现的个数,得出最多次数的字符和次数
  * @param map
  */
 public void  readMap(HashMap<Character, Integer> map)
 {
     Set<Entry<Character, Integer>> set = map.entrySet();
        Integer max = 1 ;
        Character result = null;
        for(Iterator<Entry<Character, Integer>> it = set.iterator() ;it.hasNext();)
        {
    Entry<Character, Integer> cha =   it.next();
    Character chaex = cha.getKey();
    Integer count = map.get(chaex);
    if (count > max)
    {
                 max = count;
     result = cha.getKey();
    }

   }
       
     System.out.println("出现最多的字符是:" + result + "出现的次数是" +max  );
 }
}

 

这是以前接触java集合时的一些练习,现在想拿来整理下!还会完善!

特点:

1性能还好,只查找了一遍文件

问题:

1.汉字匹配不到

2.次数最多的相同的字符不能得到

分享到:
评论

相关推荐

    VB字符出现最多字符以及次数数统计[参照].pdf

    在VB编程语言中,字符出现最多以及次数统计是常见的数据处理任务。以下是对给定文件中四个编程问题的详细解析: 1. **字符出现次数最多的字母统计** 这段代码用于统计一个字符串中出现次数最多的字母。首先,定义...

    java 查找字符串中出现最多的字母

    根据给定文件的信息,我们...本程序通过一系列步骤实现了查找字符串中出现最多的字母的功能。虽然程序逻辑清晰,但仍存在一定的优化空间。理解并掌握了这些基础的Java知识后,可以根据具体需求进行相应的调整和优化。

    50 – 得到文件中出现频率最高的字符

    现在有一个文本文件,需要得到该文本文件中出现次数最多的字符,最后输出该字符和出现的次数,空白符除外 ''' 1. 读文件内容 2. 统计字符数 3. 求出现次数最多的字符 统计每一个字符在文件中出现的次数,然后每扫描...

    03字符串统计次数.txt

    编写函数统计给定字符串在文中出现的次数,如文中内容为asd asasdfg asd as zx67 asd mklo, 给定字符串为as,则函数返回6.文件名和给定字符串由命令行输入得到。

    统计一篇txt文档(英文)中各英文字母出现的次数及概率

    - **逐字符读取**:使用 `get` 或 `peek` 方法读取文件中的每个字符。 - **字符串读取**:可以使用 `getline` 方法读取一行内容。 示例中的代码通过 `infile.get(text, 10000);` 将文件内容读取到一个字符数组中。 ...

    java语言编写的统计字符串出现次数的代码.txt

    - 在 `main` 方法中,首先定义了两个字符串变量 `s` 和 `y`,然后创建了一个 `TwoTest` 类的实例,并调用了 `countNumber` 方法来统计字符串 `s` 在字符串 `y` 中出现的次数。 #### `countNumber` 方法 ```java ...

    一个文本在另一个文本中出现的次数

    4. **计数与统计**:找到所有匹配的实例后,进行计数即可得到目标文本在另一个文本中出现的次数。如果需要考虑顺序和上下文,可能还需要使用滑动窗口或者n-gram模型。 5. **应用**:这个任务在多种场景下都有应用,...

    统计所有文本文档里各种字符的个数

    将这个文件拖入"字符统计工具.exe"中,即可得到字符统计的结果。 总的来说,这个任务展示了Java在文本处理方面的强大能力,同时也提醒我们在处理文本数据时要注意字符编码的问题,确保数据的完整性和准确性。通过...

    编写一个程序统计文本文件英文字母个数,不区分大小写,屏幕输出每个字母出现的次数。

    编写一个程序统计文本文件英文字母个数,不区分大小写,屏幕输出每个字母出现的次数。 参考:文件操作函数,fopen, fclose, fread, fgetc;使用MSDN查找相关帮助; 要求:代码的编写、变量定义等应以《Coding ...

    易语言文件字符替换原始代码源码,易语言文件字符替换模块使用例

    在“易语言文件字符替换原始代码源码”这个主题中,我们主要探讨的是如何利用易语言来实现对文件中的特定字符或文本进行查找和替换的功能,这对于文本处理和数据清洗工作来说是至关重要的。 首先,我们要理解“文件...

    哈夫曼编码与译码 数据结构

    (2)统计文本文件中的字符:统计文本文件中出现的字符及各字符出现的频度(次数),根据频度设置权值,并将相关字符的频率输出。 (3)根据第(2)步所得到的权值构建Huffman树,并打印Huffman树。 (4)根据建好...

    C++读取一文本文件并进行单词统计结果

    5. **特定单词查询**:完成统计后,可以提供一个函数,接受一个单词作为参数,查询该单词的出现次数,直接从`map`中查找即可。 6. **异常处理**:在文件操作中,可能遇到无法打开文件、读取错误等问题,需要添加...

    统计一篇英文文档中每个字母出现的次数.docx

    统计英文文档中每个字母出现的次数是使用 C 语言编程在 Linux 操作系统中实现的程序,该程序可以统计英文文档中每个字母出现的次数并输出到屏幕上,该程序涉及到文件操作、字符串操作、数组操作和输入输出流等相关...

    Huffman.zip

    程序会遍历文件中的每个单词,统计每个字母出现的次数,从而计算出每个字母的频率。统计完成后,这些频率数据用于构建Huffman树。Huffman树的构建过程是这样的:将每个字符视为一个叶子节点,按照频率从小到大依次...

    用JAVA语言统计文本文件中字母出现的频率

    在Java编程中,统计文本文件中字母出现的频率是一项常见的任务,这可以帮助我们理解文本的特性,例如在语言模型或信息检索系统中。这个任务的关键是读取文件内容,转换为字符数组,然后进行计数。以下是实现这个功能...

    基于java实现.java文件的重复字符串统计

    随着程序对整个.java文件内容的遍历完成,map中累积了文件中每个独立字符串的出现次数。最终,程序会计算得到各个重复字符串的重复数值,从而可以清晰地了解到哪些字符串在文件中出现的频率较高。 以上仅供学习参考...

    文字字典树查询txt文本中的文字出现次数并从大到小排序

    在本场景中,我们使用字典树来统计一个`.txt`文本文件(content.txt)中每个汉字出现的次数,并将结果按出现次数从大到小排序写入另一个`.txt`文件(as_result.txt)。以下是关于字典树和这个任务的详细解释。 字典...

    java分析文本中字符出现的概率

    5. **计算概率**:遍历完所有字符后,获取总字符数,然后用每个字符的出现次数除以总字符数,得到该字符的概率。 ```java int totalChars = charCountMap.values().stream().mapToInt(Integer::intValue).sum(); ...

    js代码-统计字符串中出现最多的字母

    在JavaScript编程语言中,统计字符串中出现最多的字母是一项常见的任务,尤其在数据分析或者文本处理的场景下。这个任务可以通过各种方法实现,其中一种常见的方法是使用JavaScript的内置对象和数组方法。下面我们将...

    ASP.NET从字符串中查找字符出现次数的具体实现方法

    在探讨***技术中如何在C#语言环境下实现查找字符串中字符出现次数的功能时,我们首先应该了解C#中字符串的处理方法和性能考量。根据给定的文件信息,我们可以整理出以下知识点: 1. 字符串遍历统计法: 这是一种...

Global site tag (gtag.js) - Google Analytics