当前位置:首页 > 编程教程 > java技术文章 > java统计文件中每个字符出现的个数

java统计文件中每个字符出现个数的代码

  • 发布时间:
  • 作者:码农之家
  • 点击:82

这篇文章主要知识点是关于java、统计字符、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

JavaScript高级程序设计
  • 类型:JS程序设计大小:23 MB格式:PDF作者:Nicholas C. Zakas
立即下载

java统计文件中每个字符出现的个数

本文实例为大家分享了java统计文件中字符个数的具体代码,供大家参考,具体内容如下

package com.zhu.io;
 
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
 
public class FileCharacter{
 Map<Character,Integer>map=new TreeMap<Character,Integer>();
 public FileCharacter(String fileName) throws IOException{
 BufferedReader br=new BufferedReader(new FileReader(new File(fileName)));
 int x;
 while((x=br.read())>0){
  Character key=new Character((char)x);
  if(map.containsKey(key)){
  int count=map.get(key);
  map.remove(key);
  map.put(key, ++count);
  }else{
  map.put(key, 1);
  }
 }
 }
 public int getCount(char c){      //获取字符在文件中出现的个数
 return map.get(c);
 }
 public Set<Character> getAllChar(){   //获取文件中字符的Set集合
 return map.keySet();
 }
 public Map<Character,Integer> getMap(){  //获取字符与其出现个数组成的Map集合
 return map;
 }
 public void printInfo(){         //打印信息
 Set<Map.Entry<Character, Integer>>set=map.entrySet();
 for(Map.Entry<Character, Integer> entry:set){
  System.out.println("[ "+entry.getKey()+" ]"+"\t"+"count:"+entry.getValue());
 }
 }
 public static void main(String[] args) throws IOException {
 FileCharacter fc=new FileCharacter("e:\\test.txt");
 fc.printInfo();
 }
}

小编另为大家分享一段代码:计算一个字符串中每个字符出现的次数

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/**
 * 计算一个字符串中每个字符出现的次数
 * 
 * 思路:
 * 通过toCharArray()拿到一个字符数组-->
 * 遍历数组,将数组元素作为key,数值1作为value存入map容器-->
 * 如果key重复,通过getKey()拿到value,计算value+1后存入
 */
public class Test01 {
  public static void main(String[] args) {
    System.out.println("请输入字符串:");
    Scanner sc=new Scanner(System.in);
    while (sc.hasNextLine()){
      String str=sc.nextLine();
      Map<Character,Integer> map =count(str);
      System.out.println(map);
    }
  }
  public static Map<Character,Integer> count(String str){
    Map<Character,Integer> map=new HashMap<Character,Integer>();
    char[] array_char=str.toCharArray();//把字符串转成字符数组
    for(char arr_char: array_char){//遍历字符数组
      if(map.containsKey(arr_char)){//查看字符是否在map的key中存在,如果存在
        Integer old=map.get(arr_char);//通过key获取value的值
        map.put(arr_char,old+1);//把字符放入map的key中,value设置为通过key获取value的值+1
      }else{//查看字符是否在map的key中存在,如果不存,把字符放入map的key中,value默认设置为1
        map.put(arr_char,1);
      }
    }
    return map;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

您可能感兴趣的文章:

  • Java IO流之字符缓冲流的实例详解
  • java8、jdk8日期与字符串转化
  • java实现统计字符串中大小写字母及数字出现次数的实例
  • java中字符串数组、字符串、整形之间的转换详解
  • Java String字符串和Unicode字符相互转换实例代码
  • java 相关电子书
    学习笔记

    Copyright 2018-2020 www.xz577.com 码农之家

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com