温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用java怎么统计文件中每个字符出现的个数

发布时间:2021-06-09 18:06:16 来源:亿速云 阅读:616 作者:Leah 栏目:编程语言

本篇文章给大家分享的是有关使用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怎么统计文件中每个字符出现的个数,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI