java統(tǒng)計文件中每個字符出現(xiàn)的個數(shù)
本文實(shí)例為大家分享了java統(tǒng)計文件中字符個數(shù)的具體代碼,供大家參考,具體內(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默認(rèn)設(shè)置為1
map.put(arr_char,1);
}
}
return map;
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
IntelliJ IDEA之配置JDK的4種方式(小結(jié))
這篇文章主要介紹了IntelliJ IDEA之配置JDK的4種方式(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
SpringBoot使用阿里oss實(shí)現(xiàn)文件上傳的流程步驟
云服務(wù)指的就是通過互聯(lián)網(wǎng)對外提供的各種各樣的服務(wù),比如像:語音服務(wù)、短信服務(wù)、郵件服務(wù)、視頻直播服務(wù)、文字識別服務(wù)、對象存儲服務(wù)等等,本文通過代碼示例和圖文給大家介紹了SpringBoot使用阿里oss實(shí)現(xiàn)文件上傳的流程步驟,需要的朋友可以參考下2025-01-01
SpringBoot配置GlobalExceptionHandler全局異常處理器案例
這篇文章主要介紹了SpringBoot配置GlobalExceptionHandler全局異常處理器案例,通過簡要的文章說明如何去進(jìn)行配置以及使用,需要的朋友可以參考下2021-06-06
springboot啟動過程中常用的回調(diào)示例詳解
springboot提供非常豐富回調(diào)接口,利用這些接口可以做非常多的事情,本文通過實(shí)例代碼給大家介紹springboot啟動過程中常用的回調(diào)知識感興趣的朋友跟隨小編一起看看吧2022-01-01
Mybatis Generator自動生成對應(yīng)文件的實(shí)現(xiàn)方法
這篇文章主要介紹了Mybatis Generator自動生成對應(yīng)的文件的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-09-09
IDEA引MAVEN項(xiàng)目jar包依賴導(dǎo)入問題解決方法
這篇文章主要介紹了IDEA引MAVEN項(xiàng)目jar包依賴導(dǎo)入問題解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11

