溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用java怎么統(tǒng)計文件中每個字符出現(xiàn)的個數(shù)

發(fā)布時間:2021-06-09 18:06:16 來源:億速云 閱讀:617 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關(guān)使用java怎么統(tǒng)計文件中每個字符出現(xiàn)的個數(shù),小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

具體內(nèi)容如下

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){      //獲取字符在文件中出現(xiàn)的個數(shù)
 return map.get(c);
 }
 public Set<Character> getAllChar(){   //獲取文件中字符的Set集合
 return map.keySet();
 }
 public Map<Character,Integer> getMap(){  //獲取字符與其出現(xiàn)個數(shù)組成的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();
 }
}

小編另為大家分享一段代碼:計算一個字符串中每個字符出現(xiàn)的次數(shù)

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/**
 * 計算一個字符串中每個字符出現(xiàn)的次數(shù)
 * 
 * 思路:
 * 通過toCharArray()拿到一個字符數(shù)組-->
 * 遍歷數(shù)組,將數(shù)組元素作為key,數(shù)值1作為value存入map容器-->
 * 如果key重復(fù),通過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();//把字符串轉(zhuǎn)成字符數(shù)組
    for(char arr_char: array_char){//遍歷字符數(shù)組
      if(map.containsKey(arr_char)){//查看字符是否在map的key中存在,如果存在
        Integer old=map.get(arr_char);//通過key獲取value的值
        map.put(arr_char,old+1);//把字符放入map的key中,value設(shè)置為通過key獲取value的值+1
      }else{//查看字符是否在map的key中存在,如果不存,把字符放入map的key中,value默認設(shè)置為1
        map.put(arr_char,1);
      }
    }
    return map;
  }
}

以上就是使用java怎么統(tǒng)計文件中每個字符出現(xiàn)的個數(shù),小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI